19958 Commits

Author SHA1 Message Date
Denis Rouzaud
a0507ee324
Merge pull request #44533 from troopa81/feat_dms_connexion_widget
[ExternalStorage] Add widget to configure/edit and visualize external storage
2021-08-16 12:05:26 +02:00
Julien Cabieces
53e16e85c0 add external storage display name 2021-08-16 09:18:14 +02:00
Julien Cabieces
bbf2429d6b Fix sip incomplete type QgsExternalStorageFileWidget 2021-08-16 09:18:14 +02:00
Julien Cabieces
36813e737d Fix doc 2021-08-16 09:18:14 +02:00
Julien Cabieces
7a7964c767 Fix typo & return string by value not ref 2021-08-16 09:18:14 +02:00
Julien Cabieces
74512ffde9 Separate QgsFileWidget from QgsExternalStorageFileWidget 2021-08-16 09:18:14 +02:00
Julien Cabieces
16c916b723 fix typos and doc 2021-08-16 09:18:14 +02:00
Julien Cabieces
56127039f5 [ExternalStorage] Add widget to configure/edit and visualize external storage 2021-08-16 09:18:12 +02:00
Julien Cabieces
a63551a4a7 [WFS] fix unknown expat encoding issues 2021-08-16 09:12:17 +02:00
Nyall Dawson
e6fa3ffd69 Add filepath to QgsMimeDataUtils::Uri 2021-08-12 12:54:21 +10:00
uclaros
55c02f6b5b skip sip 2021-08-12 11:42:23 +10:00
uclaros
5f7a067fdf Simplify whitespaces in saved expression labels 2021-08-12 11:42:23 +10:00
Nyall Dawson
a5261ff141 Better error reporting for aggregate calculation failures 2021-08-12 03:26:46 +10:00
Nyall Dawson
4d5014deae Add QgsExpression utility function to match an expression or field name string to a layer's field index 2021-08-12 03:26:46 +10:00
Nedjima Belgacem
826c6a7c36
Disble layer rendering to 3D terrain texture for 3D rendered layers (#44367)
* add optional layer rendering to 3D terrain

* remove terrainLayers from Qgs3DMapSettings

* fix tests

* switch to layer terrain rendering when no 3d renderer is set

* fix mesh tests to handle terrain being disabled
2021-08-11 11:38:59 +02:00
Nyall Dawson
66bd635454 repr for QgsDefaultValue 2021-08-11 16:41:49 +10:00
Nyall Dawson
155c76c91d Add some __repr__ methods for QgsLayerTreeNode classes 2021-08-11 13:35:59 +10:00
Nyall Dawson
1608547066 Add utility function QgsFileUtils.renameDataset
Renames a dataset file, including all its associated sidecar
files (and optionally the .qmd/.qml sidecars)
2021-08-11 08:21:04 +10:00
Nyall Dawson
ee0c050bbf Add QgsFileUtils.sidecarFilesForPath function, which returns all
sidecar files which exist for a given file path
2021-08-10 12:52:34 +10:00
Nyall Dawson
ff2f22f3a6 Raise IndexErrors instead of crashing when an invalid index is
passed to QgsAttributeTableConfig methods from Python
2021-08-10 11:47:23 +10:00
Nyall Dawson
1daccf6055 Fix doxygen command 2021-08-09 13:00:33 +10:00
Nyall Dawson
bf6af35382 Copy error message from aggregate calculator to expression when
aggregate function fails, so that we give more helpful error messages
for debugging aggregate based expressions
2021-08-09 13:00:33 +10:00
Nyall Dawson
17fa48250a Expand docs 2021-08-09 05:55:05 +10:00
Nyall Dawson
52dff0f2ef Add api to QgsProviderMetadata to return any possible sidecar
files which may exist for the provider given a layer path
2021-08-09 05:55:05 +10:00
Alexander Bruy
00dad40975
Merge pull request #44583 from alexbruy/processing-pointcloud
Point cloud parameter for Processing
2021-08-06 11:02:04 +03:00
Nyall Dawson
cf40573d2c [feature][processing] Add new "Select within distance" and
"Extract within distance" algorithms

These algorithms allow users to select or extract features from one
layer which are within a certain distance of features from another
reference layer.

The distance checking is heavily optimised, using spatial indices
to restrict the number of features retrieved, and also automatically
handing the check off to the database server for postgis layers.

The distance parameter can also be data-defined.

Sponsored by QTIBIA Engineering
2021-08-06 17:37:09 +10:00
Nyall Dawson
02b04fcd10 Spelling 2021-08-06 14:17:28 +10:00
Nyall Dawson
354d334e94 Add utility function QgsProjectUtils.updateLayerPath to bulk replace
a file path with a new path for all matching layers in a project
2021-08-06 14:17:28 +10:00
Nyall Dawson
a31a67401b Add utility QgsMapLayerUtils.updateLayerSourcePath for easy replacement
of file paths in the source of a file-based layer
2021-08-06 14:17:28 +10:00
Juergen E. Fischer
2f3e32a5ba fix msvc build 2021-08-05 23:24:11 +02:00
alitka
2b04a0801c updated connections-default.xml
line 18 - added the German spatial data catalogue (GDI-DE Geodatenkatalog.de) of the Spatial Data Infrastructure Germany (GDI-DE) to the list of the default connections
2021-08-06 07:15:58 +10:00
Alexander Bruy
aef9ef7ee0 add point cloud parameter to algfactory 2021-08-05 21:07:31 +03:00
Alexander Bruy
63952c1a37 [processing] add support for point clouds to map layer and multiple
layer parameters
2021-08-05 18:41:33 +03:00
Alexander Bruy
f801cb6816 [processing] new pont cloud parameter for processing 2021-08-05 16:03:50 +03:00
Nyall Dawson
2cab3bba72 Working distance within filter for vector layer cache 2021-08-05 14:24:07 +10:00
Nyall Dawson
f69ff2706a Implement distance within search for vector layer iterator 2021-08-05 14:24:07 +10:00
Nyall Dawson
686a6e5968 [api] Add option to QgsFeatureRequest to request features
within a certain distance of a reference geometry

E.g. this request will retrieve all features within 50 map units of the
provided linestring:

    QgsFeatureRequest().setDistanceWithin(QgsGeometry.fromWkt('LineString(0 0, 10 0, 12 1)'), 50)

A new enum Qgis::SpatialFilterType has been added to reflect whether
a request uses no spatial filter, a BoundingBox filter (via
setFilterRect), or the new DistanceWithin filter.

Distance within filters are treated like bounding box filters, in
that they are independant of any attribute/id filters (such as
feature ids or expressions).
2021-08-05 14:24:07 +10:00
Nyall Dawson
d01aa2826e Spelling fixes 2021-08-05 13:01:54 +10:00
Nyall Dawson
4f56a42275 Fix processing algs 2021-08-04 09:54:32 +10:00
Nyall Dawson
75c787a4e6 Fix API break 2021-08-04 09:54:32 +10:00
Nyall Dawson
01e3e1dddc [api] Move QgsGeometry enums to Qgis, promote to enum classes 2021-08-04 09:54:32 +10:00
Sandro Mani
c2b48173c8
Merge pull request #44471 from qgis/links
Support CTRL+Click for opening links in attribute table
2021-08-03 01:35:21 +02:00
Nyall Dawson
41d98c82d7 Add a formal settings category for GPS settings 2021-08-03 09:22:31 +10:00
Sandro Mani
2a2899a87c Support CTRL+Click for opening links in attribute table 2021-08-02 23:44:58 +02:00
Nyall Dawson
47f7612004 Add flag to babel command generation methods to control whether
paths should be quoted
2021-08-02 13:36:46 +10:00
Nyall Dawson
377f1d42ec Make QgsBabelFormatRegistry responsible for generating a file
filter string for all import formats
2021-08-02 13:36:46 +10:00
Nyall Dawson
ebd7d0c50d Add file extensions for babel import formats 2021-08-02 13:36:46 +10:00
Nyall Dawson
3ee1f2b2b5 Rework QgsBabelSimpleImportFormat to avoid storing using keys
based on the format description, and instead use the (constant)
format name instead
2021-08-02 13:36:46 +10:00
Nyall Dawson
bcf964aac5 [processing] Fix evaluation of empty file names for file parameters
in test suite
2021-08-02 12:17:59 +10:00
Nyall Dawson
8f36cdfa44 [processing] Add API to allow a string parameter to show as a combobox
with preset choices in processing GUI

In some circumstances it is desirable to restrict the values available
when a user is asked to enter a string parameter to a list of predetermined
"valid" values, yet these values will vary installation by installation
(e.g. a "printer name" parameter, where you want users to pick from
printers installed on the system, but since the printer names will
vary install to install an enum parameter is not a valid choice)

This can now be done by setting the widget wrapper metadata
"value_hints" option, as demonstrated below. (While this provides a mechanism
for guiding users to select from valid string values when running a Processing
algorithm through the GUI, it does not place any limits on the string values
accepted via PyQGIS codes or when running the algorithm via other non-gui
means. Algorithms should gracefully handle other values accordingly.)

    param = QgsProcessingParameterString( 'PRINTER_NAME', 'Printer name')
    # show only printers which are available on the current system as options
    # for the string input.
    param.setMetadata( {'widget_wrapper':
      { 'value_hints': ['Inkjet printer', 'Laser printer'] }
    })
2021-08-01 05:33:51 +10:00