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
c16a1e2b3d
Update enums
2024-01-19 19:44:48 +10:00
Etienne Trimaille
3cab3c43a2
Python - Run pyupgrade on the processing plugin
2023-04-24 10:03:57 +02:00
Evan Derickson
dcde81fb1b
Thin out unneeded function calls
2021-02-20 12:26:00 +10:00
Nyall Dawson
b40bfbbf4c
Use direct getters for ellipsoid/units in processing algs
...
Refs #37988
2020-07-30 08:26:40 +10:00
Nyall Dawson
b6a7a10703
Fix some more python formatting issues, remove more flake exceptions
2020-05-11 11:41:50 +10:00
Andrea Giudiceandrea
02a6fd40cd
Fix "Random points along line" alg
...
Fixes "Random points along line" (qgis:randompointsalongline) algorithm.
See https://github.com/qgis/QGIS/issues/33156#issuecomment-581395400
2020-02-04 08:13:03 +10:00
Andrea Giudiceandrea
e82ba52584
Fix "Random points along line" alg
...
Fixes "Random points along line" (qgis:randompointsalongline) algorithm
Fixes #33156
2020-02-04 08:13:03 +10:00
Bas Couwenberg
2628c480c5
Don't include revision in sources.
...
Prevent changes to files that weren't changed between releases.
This eases review of the changes between releases significantly.
2019-05-17 16:47:47 +02:00
Nyall Dawson
ce5faa1524
[processing] Force regeneration of primary key for more algorithms
...
Fixes #21445
2019-03-05 07:06:30 +10:00
Nyall Dawson
6110931f8a
Rename QgsSpatialIndex::insertFeature to ::addFeature, for consistency
...
with other classes
And make QgsSpatialIndex a QgsFeatureSink
2018-09-29 07:37:53 +10:00
Nyall Dawson
249dca7830
[processing] Consist helpful error messages when sinks cannot be created
...
And throw exceptions always when sinks are not created to avoid
generic errors
2018-04-28 05:50:47 +10:00
Nyall Dawson
5339d62715
[processing] More helpful errors when sources cannot be loaded
...
Include descriptive text with the specified parameter value
in error, and always check that sources were loaded to avoid
raw Python exceptions when they are not
2018-04-28 05:50:47 +10:00
Nyall Dawson
0dfb3c2d8c
[processing] Use distance parameter for more algorithms
2018-04-20 18:27:00 +10:00
Nyall Dawson
4643712a1e
Fix missing transform contexts for QgsDistanceArea
...
QgsDistanceArea.setSourceCrs() now requires a QgsTransformContext
argument.
2017-12-20 17:37:46 +10:00
Alexander Bruy
dca37abd0e
[processing] add group id to QGIS algorithms
2017-12-14 18:04:12 +02:00
Alexander Bruy
0059b2b692
[processing] remove Python 2 compatibility layer
2017-11-28 12:27:45 +02:00
Matthias Kuhn
e0025b65b1
Rename QgsGeometry::fromPoint to QgsGeometry::fromPointXY
...
Also introduces the from[Geometry]XY for QgsGeometryFactory
2017-10-30 09:14:06 +01:00
Nyall Dawson
2a442c7886
Rationalise algorithm groups a bit
2017-08-22 23:36:42 +10:00
Nyall Dawson
2e8d940f2d
Use context.project() instead of QgsProject.instance()
2017-07-27 10:49:52 +10:00
Alexander Bruy
c440ade2d8
[processing] remove Z/M addition from "random" algorithms
2017-07-24 09:20:47 +03:00
Alexander Bruy
c7645a3884
[processing] port Random points along lines
2017-07-24 09:20:47 +03:00
Nyall Dawson
8af7318c98
Ensure distance area is always correctly used in processing
2017-07-15 16:24:14 +10:00
Nyall Dawson
1e13d733c2
Move declaration of algorithm parameters/outputs to a new virtual
...
initAlgorithm() method
This allows 2 benefits:
- algorithms can be subclassed and have subclasses add additional
parameters/outputs to the algorithm. With the previous approach
of declaring parameters/outputs in the constructor, it's not
possible to call virtual methods to add additional parameters/
outputs (since you can't call virtual methods from a constructor).
- initAlgorithm takes a variant map argument, allowing the algorithm
to dynamically adjust its declared parameters and outputs according
to this configuration map. This potentially allows model algorithms which
can be configured to have variable numbers of parameters and
outputs at run time. E.g. a "router" algorithm which directs
features to one of any number of output sinks depending on some
user configured criteria.
2017-07-10 16:31:14 +10:00
Nyall Dawson
b1cadb1822
Use generic algorithm icon for qgis algorithms which do not
...
have specific icons, instead of generic qgis icon
We consider these 'top level' algorithms, and using the
standard algorithm icon should help reflect this and
differentiate them from 3rd party algorithms.
2017-06-24 12:01:20 +10:00
Nyall Dawson
81855a715b
Use FastInsert when adding features from processing
2017-06-23 14:34:38 +10:00
Nyall Dawson
99cfb8faf3
Fix processing algs crash when no source features exist
...
Instead we output an empty layer - this may be critical for
multi-step models where there is validly no features present
in a source layer
2017-06-23 13:49:32 +10:00
Nyall Dawson
f64f74fb63
Fix incorrect import
2017-06-06 13:41:42 +10:00
Nyall Dawson
4cb7d18b1c
Push parameters into processAlgorithm and related functions
2017-06-06 07:41:19 +10:00
Nyall Dawson
77ab933788
Move alg character definitions to __init__
2017-06-06 07:41:19 +10:00
Nyall Dawson
168f16276c
Remove help related methods from GeoAlgorithm
2017-06-06 07:41:19 +10:00
Matthias Kuhn
a9d7630a69
Rename QgsPointV2 to QgsPoint and QgsPoint to QgsPointXY
...
Because 3D coordinates should be the default.
References https://github.com/qgis/qgis3.0_api/issues/36
2017-06-02 19:53:37 +02:00
Nyall Dawson
49c688bbe4
Fix use of QgsProcessingUtils.mapLayerFromString
2017-05-02 13:40:49 +10:00
Nyall Dawson
f84d703234
Add method QgsProcessingUtils::mapLayerFromString
...
Algorithms and other processing code should use this method
(instead of dataobjects.getLayerFromString) to
retrieve layers from a string, as it considers the processing
context and allows resolving strings to temporarily stored layers.
This permits processing models to function correctly when
intermediate results are stored as memory layers. Subsequent
model algorithms can then access these temporary layers as inputs.
All temporary layers will be removed when the context object
is destroyed after the model algorithm is run.
2017-05-02 12:33:04 +10:00
Nyall Dawson
fd2c18ee16
Refactor processing writer to use QgsFeatureSink, and to store
...
temporary output layers in the provided processing context
Should fix loss of intermediate memory layers when running
a multi-step model
2017-04-26 17:38:40 +10:00
Nyall Dawson
e9f13d1ea3
Just use standard QgsMessageLog functionality instead of a dedicated
...
method for processing
2017-04-26 13:57:06 +10:00
Nyall Dawson
1394c28d13
[processing] Move some log handling to c++ class
2017-04-26 13:56:29 +10:00
Nyall Dawson
dd4f530cfb
[processing] Pass context argument to processAlgorithm
2017-04-26 12:53:35 +10:00
Nyall Dawson
377b181c4e
Port more processing dataobjects methods to c++
...
Also
- simplify and add tests
- remove large memory leak (persistant store of all non-project layers)
- remove broken support for direct loading postgres/virtual layers
by string (Python version was very broken and would never match
a postgres/virtual layer)
2017-04-05 19:50:46 +10:00
Nyall Dawson
a0bd464232
Use formatted name for algorithm names
...
Avoids conversion of names later and gives clearer separation
between visible names and internal names
2017-04-03 21:17:45 +10:00
Nyall Dawson
6987d7b37c
Port handling of algorithm names to QgsProcessingAlgorithm
2017-04-03 21:17:45 +10:00
Nyall Dawson
dc729c1b5a
Move algorithm group handling to QgsProcessingAlgorithm
2017-04-03 21:17:45 +10:00
Nyall Dawson
faa8a653b2
Move algorithm icon handling to QgsProcessingAlgorithm
2017-04-03 21:17:45 +10:00
Juergen E. Fischer
c77172ed3d
fix more flake8 warnings
2017-03-05 10:21:24 +01:00
Nyall Dawson
ede452be85
[processing] Port feedback object to c++
...
Algorithms are now passed a QgsProcessingFeedback object
instead of the loosely defined progress parameter.
2017-01-11 11:11:10 +10:00
Nyall Dawson
86368f39c3
[processing] Optimise feature requests within qgis algs
...
- don't use setFilterFid() within loops to fetch features one
at time (as it's extremely slow), instead use setFilterFids()
outside the loop
- don't fetch unused attributes/geometry when it can be
avoided
2016-10-17 10:30:55 +10:00
arnaud.morvan@camptocamp.com
4184934b9a
[processing] Apply 2to3 on changes
2016-10-05 12:39:01 +02:00
Juergen E. Fischer
31df84aa6b
run 2to3 on source
2016-09-21 23:30:04 +02:00
Alexander Bruy
65db336eaf
[processing] move some constants to the dataobjects module
2016-09-02 09:28:45 +03:00
Alexander Bruy
80653c7aff
[processing] adopt native algs to use output geomerty
2016-09-02 09:28:32 +03:00