3514 Commits

Author SHA1 Message Date
Nyall Dawson
2fdb2cad80 Add processing algorithm flag for SecurityRisk
And add to "Advanced Python field calculator" algorithm, as that
algorithm uses the Python exec() function and is a security
risk if run with untrusted/unchecked inputs
2024-10-02 10:36:00 +10:00
Florian Neukirchen
dd4f71c1f3 Fix indentation 2024-10-01 08:36:59 +10:00
Florian Neukirchen
b8ca25da95 value field must be numeric 2024-10-01 08:36:59 +10:00
Florian Neukirchen
1fd614b0ef Fix AttributeError: module 'plotly.graph_objs' has no attribute 'Area': it is go.Barplot in recent plotly versions 2024-10-01 08:36:59 +10:00
Andrea Giudiceandrea
ab611a9a19 [pocessing] QVariant->QMetaType in "Select by attribute"
QgsField.type() returns QMetaType.Type
2024-09-16 08:48:01 +10:00
Andrea Giudiceandrea
81fb58f997 [processing] Fix deprecated QgsField constructor
Using QMetaType.Type in place of QVariant types for:
- "Check validity" qgis:checkvalidity
- "Climb along line" qgis:climbalongline
- "Add geometry attributes" qgis:exportaddgeometrycolumns
- "Advanced Python field calculator" qgis:advancedpythonfieldcalculator
- "Find projection" qgis:findprojection
- "Distance to nearest hub (line to hub)" qgis:distancetonearesthublinetohub
- "Distance to nearest hub (points)"  qgis:distancetonearesthubpoints
- "Concave hull (k-nearest neighbor)" qgis:knearestconcavehull
- "Minimum bounding geometry" qgis:minimumboundinggeometry
- "Distance matrix" qgis:distancematrix
- "Generate points (pixel centroids) along line" qgis:generatepointspixelcentroidsalongline
- "Random points along line" qgis:randompointsalongline
- "Random points in layer bounds" qgis:randompointsinlayerbounds
- "Random points inside polygons" qgis:randompointsinsidepolygons
- "Regular points" qgis:regularpoints
- "Statistics by categories" qgis:statisticsbycategories
- "Text to float" qgis:texttofloat
- "Topological coloring" qgis:topologicalcoloring
2024-09-16 08:48:01 +10:00
Nyall Dawson
7c0c56b96b Add flag to a few more algorithms 2024-07-15 14:33:21 +10:00
Andrea Giudiceandrea
3d8a7a7a80 [processing][feature] Enhance gdal:ogrinfo - Add gdal:ogrinfojson 2024-07-11 08:58:22 +10:00
uclaros
22895e6b6f Allow postgresraster layers as gdal processing tools input 2024-07-11 08:37:02 +10:00
Nyall Dawson
4c2983189f
When an OGR algorithm is run on a GRASS provider vector layer,
export the layer to an OGR compatible source first

Use the same logic we use eg for auto-exporting memory layers
so that GDAL tools "just work" with GRASS provider vector
layers
2024-07-09 09:53:52 +10:00
Alexander Bruy
7bd8c071f3 port Basic statistics for fields algorithm to C++
Also add new optional output a table containing calculated statistics
similar to the Statistics by categories algorithm (fix #46241)
2024-07-05 05:18: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
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
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
d95ac4a7ea Better reporting for invalid field names for some algorithms 2024-04-18 13:25:06 +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
Andrea Giudiceandrea
42f3a60743 Apply suggestions from code review 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
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
Alessandro Pasotti
27824078ad Introduce QgsProcessingProvider::Flag::FlagCompatibleWithVirtualRaster 2024-01-31 10:37:52 +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
Sebastian Gutwein
1a8f6614c1 NoData harmonization 2023-12-24 07:26:49 -05:00
DelazJ
406e1d6b9a Harmonize user facing labels for GDAL resampling methods 2023-11-24 08:20:32 +10:00
Nyall Dawson
33e1d4fba9 Check for non-zero cell sizes 2023-11-14 06:36:39 +10:00
Nyall Dawson
da514d0e5e Fix exception in interpolation algorithm widgets
Fixes #55138
2023-11-14 06:36:39 +10:00
Nyall Dawson
27bcb01cb6 Add some typehints 2023-11-14 06:36:39 +10:00
Blottiere Paul
385fedd232 Add safeguard to all gdal algorithms 2023-10-19 13:31:42 +02:00
Blottiere Paul
9c8475e5b1 Add safeguard for -of option 2023-10-17 15:32:54 +02:00
Denis Rouzaud
c76b86e26b
move enum QgsMapLayerProxyModel::Filter to Qgis (#54891) 2023-10-11 13:57:01 +02:00
Alexander Bruy
61b69179af [processing] port concave hull algorithm to C++ 2023-10-09 12:14:20 +02:00
Alexander Bruy
451d1ba5ce [processing] port delaunay triangulation algorithm to C++ 2023-10-09 12:14:20 +02:00
Alexander Bruy
d8243141cc [processing] port voronoi polygons algorithm to C++ 2023-10-09 12:14:20 +02:00
Sandro Santilli
bcf83c17b6 Do not pass -projwin to gdal_translate when given rectangle is Null
Update testcase accordingly
2023-10-08 22:40:25 +02:00
Nyall Dawson
33bb769b91 Cleanup Execute SQL geometry type handling
And fix exception when "no geometry" type is selected

Fixes #54833
2023-10-05 14:54:41 +10:00
Nyall Dawson
7b93febd79 Geometry type should not be optional in Execute SQL algorithm
Instead it should just default to Autodetect

Given how the algorithm uses this parameter this change does not
result in any difference to scripts/etc running this tool, as
before/after this change the algorithm will use Autodetect mode
when the parameter isn't specified explicitly.

This just avoids the confusing situation where both "Not specified"
and "Autodetect" were exposed as options for the geometry type
parameter in the UI, with both having the same result.
2023-10-05 14:54:41 +10:00
Nyall Dawson
0a11e3da2c Fix strings 2023-10-05 14:54:41 +10:00