6575 Commits

Author SHA1 Message Date
Nyall Dawson
7ec94dc2c3 Only run gdal_grid, gdal_rasterize tests on GDAL 3.7+
The inputs we use for these run tests have open options, and now
that we are respecting these and passing them to the GDAL command
we can't run these tests on the earlier GDAL versions which
didn't support open options.

The commands generated by the corresponding algorithms are already
well tested and still run on the earlier GDAL releases, it's just
the actual run test which will be skipped.
2024-06-27 13:07:25 +10:00
Nyall Dawson
2d27784cee Raise exceptions if open options not supported by GDAL version 2024-06-27 13:07:25 +10:00
Nyall Dawson
c0ad63cf36 Regenerate some GDAL output reference files
We now pass on the FORCE_SRS_DETECTION=YES open option which we
were previously dropping, so the results for these commands is
slightly different

Also drop test for older GEOS versions, it's covered by a test
for more recent versions and we have extensive test covering
the GDAL command line for this tool anyway.
2024-06-27 13:07:25 +10:00
Nyall Dawson
e38849d750 Fix running GDAL algorithms on cloud storage layers
Correctly generate commands when run on eg /vsis3/ layer sources,
and translate credential options to "--config KEY VALUE" arguments
for GDAL commands
2024-06-27 13:07:25 +10:00
Nyall Dawson
2ab2d34947 Correctly handle open options for raster GDAL algorithm inputs
And handoff to GDAL command when command supports them
2024-06-27 13:07:25 +10:00
Nyall Dawson
18efe655e9 Pass vector layer open options over to GDAL command
Ensures that processing tools which use vector layers with open
options work correctly, respecting the layer's open option settings
2024-06-27 13:07:25 +10:00
Nyall Dawson
36e3c43f84 Make getOgrCompatibleSource API more flexible 2024-06-27 13:07:25 +10:00
Nyall Dawson
46a4241ace minor cleanup 2024-06-27 13:07:25 +10:00
Nyall Dawson
dcacebaeaa Cleanup API for GDAL processing provider uri conversion 2024-06-27 13:07:25 +10:00
Alexander Bruy
ad126316d3 use core raster options widget in GDAL algorithms 2024-06-26 21:50:27 +10:00
Nyall Dawson
b1947bfa8a Fix console script editor tries to save as ".py.py" 2024-06-18 05:23:57 +10:00
Nyall Dawson
d345c68c5a Move responsibility for loading scripts to QgsCodeEditorWidget 2024-06-18 05:23:57 +10:00
Nyall Dawson
5ea8a0df25 Fix tests on newer GEOS 2024-06-17 13:23:27 +10:00
Loïc Bartoletti
015e06575c [Processing] creategrid: Allow negative overlay
The creategrid algorithm had a limit of 0 to 1000000000.0.
I'm removing this limitation to go beyond this maximum limit, but above all to
allow a negative limit, which in fact allows an empty space
(the opposite of superposition).
2024-06-07 23:27:55 +02:00
Nyall Dawson
c685a9aa77 Replace processing default extension setting with string based setting
Change the setting key to force a reset for all users, and move to
a stable string based setting instead of a fragile int index key

Fixes #57676
2024-06-07 18:44:57 +10:00
Nyall Dawson
4986525e6b Ensure calling isSupportedOutputValue doesn't add layer to project
This is an advance test only, and shouldn't result in layers
attempting to add to the project.

Refs #57698
2024-06-07 18:44:29 +10:00
Julien Cabieces
48e2043505 fix new deprecated iconForField and typeToDisplayString methods 2024-05-31 08:46:33 +10:00
Even Rouault
07067d37b5 python/plugins: turn on GDAL exceptions to avoid deprecation warning
Fixes #57344
2024-05-22 13:34:35 +10:00
Nyall Dawson
8e88d4842b Use QgsCodeEditorWidget in processing script editor
And remove custom search/replace functionality, it's now replaced
by the standard QgsCodeEditorWidget implementation
2024-05-16 08:44:14 +10:00
Nyall Dawson
834167018e Add algorithmAboutToRun signal to QgsProcessingAlgorithmDialogBase
This signal can be used to tweak the algorithm's context prior to
the algorithm execution.
2024-05-04 06:30:43 +10:00
Maris Nartiss
cb63fe9a77 Processing: do not store Processing configuration keys if value matches default
If for some reason Processing configuration gets stored into configuration file,
previous code saved default menu paths in configuration. If GUI language changes,
custom values stored in the configuration take precedence over default ones
(= default translated ones are not used). This fix removes menu keys from config
for default value and thus allows to fall back to default menu items on language
switch.

Fixes #52449 (and related issues)
2024-05-01 10:31:23 +10:00
Nyall Dawson
133bad76ee Move some model designer code to c++ 2024-04-21 06:46:35 +10:00
Nyall Dawson
7355c24db8 [processing] Endpoint distance threshold for network analysis
Adds an optional end point distance threshold parameter to the
network analysis tools. Previously (and still, by default) endpoints
will ALWAYS be snapped to the nearest point in the network layer,
regardless of how far away from the network they actually are. This
can result in meaningless results, as the tools will happily snap
points to a road hundreds of kilometers away :)

Now, there's an optional end point distance threshold parameter
for these tools. The behaviour of the threshold depends on the
algorithm:

- For the “Service area (from layer)” tool an optional new output
was added for “non routable features”. This output will contain
any features which were deemed too far from the network. All
other features which are within tolerance distance to the
network will be stored in the standard output from the tool.
- For the “Service area (from point)” tool an error will be raised
if the point is too far from the network
- For the “Shortest path (point to point)” tool an error will
be raised if either the source or destination points are too far
from the network.
- For the “Shortest path (layer to point)” and “Shortest path (point
to layer)” tools:
  - An error will be raised if the **point** is too far from the network.
  - A new optional output was added for “non routable features”. This
    output will contain any features which were deemed too far from the
    network. All other features which are within tolerance distance to
    the network will be stored in the standard output from the tool.

Sponsored by City of Canning
2024-04-20 08:50:00 +10:00
Nyall Dawson
fc1922ae43 [processing] When no specific layer group is required for an output,
place it above the current selected layer

Fixes #56129
2024-04-20 08:49:45 +10:00
Nyall Dawson
51378f9827 [processing] Set the active layer to one of the generated outputs
Fixes #57003
2024-04-20 08:49:45 +10:00
Nyall Dawson
d95ac4a7ea Better reporting for invalid field names for some algorithms 2024-04-18 13:25:06 +10:00
Nyall Dawson
84f37095bc
Fix typo 2024-03-20 14:17:00 +10:00
Nyall Dawson
c997d5a8d9 Fix test 2024-03-19 13:44:02 +10:00
Nyall Dawson
d2e3534dbd [processing] Use correct ellipsoid for network analysis tools
Use the processing context's ellipsoid instead of a hardcoded
WGS84 ellipsoid for distance calculations during network
analysis, so that the lengths used will exactly match other
measurement tools used on the same features in the same
project.
2024-03-19 13:44:02 +10:00
Jacky Volpes
ae57030135 Fix global QGIS setting key in check validity algorithm 2024-03-08 09:13:32 +10:00
Andrea Giudiceandrea
a0c88b15a1 Apply suggestion from code review 2024-03-05 10:38:16 +10:00
Andrea Giudiceandrea
9c32e69f88 [processing] Fix "Random points along line" alg
Avoid various errors in case of empty input layer, empty/null geometries, invalid geometries, linestrings with zero-length segments...
2024-03-05 10:38:16 +10:00
Nyall Dawson
f1d762eba7 Update python/plugins/processing/gui/BatchPanel.py
Co-authored-by: Nicolas Godet <39594821+nicogodet@users.noreply.github.com>
2024-02-21 08:11:58 +10:00
Nyall Dawson
ece5d30a0b Ensure correct context is used when determining parameters for row
Fixes #56132
2024-02-21 08:11:58 +10:00
Nyall Dawson
496fd18e55 Add typehints 2024-02-21 08:11:58 +10:00
Nyall Dawson
def984cd4f Cleanup code, only run checks when warnOnInvalid is True
Refs #56132
2024-02-21 08:11:58 +10:00
Andrea Giudiceandrea
42f3a60743 Apply suggestions from code review 2024-02-18 06:52:52 +10:00
Andrea Giudiceandrea
5eb58df57e Fix typo 2024-02-18 06:52:52 +10:00
Andrea Giudiceandrea
dbdf35be77 gdal:fillnodata Skip testing NO_MASK parameter if GDAL >= 3.4.0 2024-02-18 06:52:52 +10:00
Andrea Giudiceandrea
3945c73b84 Rise an exception instead of an info message 2024-02-18 06:52:52 +10:00
Andrea Giudiceandrea
5a721c47c0 [processing] Fix GDAL "Fill NoData" algorithm
The gdal_fillnodata.py -nomask option is no longer supported since GDAL 3.4.0
2024-02-18 06:52:52 +10:00
Nyall Dawson
763278f8ef Don't use removed QDesktopWidget 2024-02-13 08:13:43 +10:00
Nyall Dawson
6d5ef5b961 processing plugin (mostly) works on qt6 builds now 2024-02-13 08:13:43 +10:00
Nyall Dawson
cdada7c764 Add test variants for GEOS >= 3.11 2024-02-12 18:38:21 +10:00
Nyall Dawson
da7461ff77 Fix some processing tests on newer library versions 2024-02-12 18:38:21 +10:00
Nyall Dawson
20d5b34cd3 Rename test_definition_file to definition_file
Otherwise unittest thinks the function is a test itself and runs it
accordingly, and then raises a deprecation warning because
return values are not permitted from test functions
2024-02-12 16:44:06 +10:00
Nyall Dawson
de0afb14db Don't call QFontMetrics.width() 2024-02-12 14:22:37 +10:00
Nyall Dawson
ad91789f9e Fix pyqt5_to_pyqt6 double unnesting some enums 2024-02-12 12:19:10 +10:00
Nyall Dawson
e5f7accc6a use another enum 2024-02-10 17:25:22 +10:00
Nyall Dawson
aeacb8fe07 Use enums, not raw ints 2024-02-10 17:25:22 +10:00