6558 Commits

Author SHA1 Message Date
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
Andrea Giudiceandrea
247cadce38 [processing] Don't show hidden parameters in algorithmHelp 2024-02-10 09:24:07 +10:00
Nyall Dawson
8f3944dabd Don't use QVariant(QVariant.Type) for NULL values in Python
Instead use qgis.core.NULL, so that the correct logic applies
for Qt6.
2024-02-07 19:35:28 +10:00
Nyall Dawson
ea3a86508e Rename more references to grass7 to version-less "grass" 2024-02-06 18:31:48 +10:00
Nyall Dawson
0ab66b7b6f Rename grass provider files and classes to remove hardcoded version
number
2024-02-06 18:31:48 +10:00
Nyall Dawson
58695f7c83 Apply suggestions from code review 2024-02-01 17:22:29 +10:00
Alister Hood
05ac633ca9 Don't report that html output has been generated if it hasn't 2024-02-01 17:22:29 +10:00
Nyall Dawson
c95df01a90 Advertise qt6 compatibility for metasearch plugin
There may be some sneaky issues still, but it at least appears to
function ok!
2024-01-31 10:55:33 +10:00
Alessandro Pasotti
27824078ad Introduce QgsProcessingProvider::Flag::FlagCompatibleWithVirtualRaster 2024-01-31 10:37:52 +10:00
Nyall Dawson
8e00d4befa Don't use raw ints as enum values 2024-01-30 19:10:43 +10:00
Alexander Bruy
35d8864fec add tests 2024-01-29 17:14:11 +01:00
Mathieu Pellerin
c3738acb6f [processing] Regenerate primary key when running the dissolve algorithm (fixes #55587) 2024-01-25 06:06:56 +10:00
Nyall Dawson
e42abf7dc5 Update python files 2024-01-22 05:46:15 +10:00
Nyall Dawson
2ec6dff851 Indentation 2024-01-19 19:44:48 +10:00
Nyall Dawson
c16a1e2b3d Update enums 2024-01-19 19:44:48 +10:00
Julien Cabieces
9d12ae8e6d [PyQt6] Add scope for enums and get rid of PyQt5.XXX import
this has been done automatically with the following comand line

./scripts/3to4/3to4.py --only-qgis3-compatible-changes ./python/plugins/
./scripts/3to4/3to4.py --only-qgis3-compatible-changes ./tests/src/python/
2024-01-10 21:15:27 +10:00
Nyall Dawson
3c179214fc Use nicely formatted results in processing logs 2024-01-09 17:02:21 +10:00
Sebastian Gutwein
017bed7e51 fix test 2023-12-26 17:33:06 -05:00