51 Commits

Author SHA1 Message Date
Alessandro Pasotti
ac04339434 Pass transform context to raster calculator 2019-04-17 10:06:41 +10:00
Nyall Dawson
b6bc1ee2d4 Tweak QgsProcessingUtils::combineLayerExtents for future proofing, remove deprecated usage 2019-04-17 10:06:41 +10:00
Alessandro Pasotti
ecb6cde3aa Pick up all layer entries references from the project context
This is the processing side of the duplicate layer
names bug, while the core part was already fixed,
the processing logic was extended to handle inputs
from models and full-path references.

Fixes #20601
2019-01-02 16:59:03 +01:00
Alessandro Pasotti
55017d7800 Fix rounding error while calculating output raster dimensions
This was creating artifacts in some situations (missing line
in the middle).
2018-11-28 14:46:21 +01:00
Luigi Pirelli
7d1471a715 more compact if 2018-09-04 15:46:42 +02:00
Luigi Pirelli
b3d94f110f safer check if crs is None 2018-09-03 14:02:34 +02:00
Luigi Pirelli
9e2286ae98 fix layer mapping in case direct use NOT in a model 2018-08-28 17:06:10 +02:00
Luigi Pirelli
d3144b97af remove unused method 2018-08-28 17:06:09 +02:00
Luigi Pirelli
6a2934cfa3 use complete layerSource instead of only basename 2018-08-28 17:06:09 +02:00
Luigi Pirelli
1bc1bb2f13 fix use layer source and managed string parsing in case of translation 2018-08-28 17:06:09 +02:00
Luigi Pirelli
faf9716a52 fix some code weakness and review comments 2018-08-28 17:06:09 +02:00
Luigi Pirelli
5a3b319e1c change expression to use layers in the current execution scope 2018-08-28 17:06:08 +02:00
nirvn
9562b9dad2 [processing] only pass needed raster entries in QgsRasterCalculator constructor 2018-02-09 14:05:26 +07:00
nirvn
e27847d383 [processing] make output crs optional in the raster calculator 2018-02-09 14:05:26 +07:00
nirvn
c4874b3161 [processing] use feedback object in raster calculator 2018-02-09 14:05:26 +07:00
nirvn
2ed225d5f4 [processing] ressurect raster calculator and add CRS parameter 2018-02-09 14:05:26 +07:00
Alexander Bruy
fcb50a6857 Revert "[processing] throw error if no layers selected in raster calculator"
This reverts commit c09c3018035eb7a4f47acbde7f3dae405ba444db.
2018-02-08 13:25:20 +02:00
Alexander Bruy
c09c301803 [processing] throw error if no layers selected in raster calculator
algorithm (refs #17920)
2018-01-23 10:38:59 +02:00
Alexander Bruy
dca37abd0e [processing] add group id to QGIS algorithms 2017-12-14 18:04:12 +02:00
Nyall Dawson
2a442c7886 Rationalise algorithm groups a bit 2017-08-22 23:36:42 +10:00
Nyall Dawson
4d242c5673 Partial port of raster calculator to new API
TODO: modeler handling
2017-08-20 18:21:03 +10:00
Nyall Dawson
2e8d940f2d Use context.project() instead of QgsProject.instance() 2017-07-27 10:49:52 +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
f64f74fb63 Fix incorrect import 2017-06-06 13:41:42 +10:00
Nyall Dawson
ba03f1a13a Move minimum layer extent calculation to c++ 2017-06-06 07:41:19 +10:00
Nyall Dawson
189f804714 Adapt more code to c++ API 2017-06-06 07:41:19 +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
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
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
8ffdb362cc Port some processing dataobjects routines to c++ 2017-04-05 15:27:17 +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
DelazJ
c301369ebe Replace cellsize by cell size 2016-12-29 01:46:17 +01:00
volaya
96b8a90758 [processing] In raster calculator, use filename without extension to refer to layer 2016-12-06 09:03:51 +01:00
Alexander Bruy
b85b5e75e7 [processing] values() is a dict view object, not list 2016-12-01 12:53:57 +01:00
Alexander Bruy
781ebd9a69 [processing] xrange() removed, should use range() instead 2016-12-01 12:53:57 +01:00
Alexander Bruy
3e7b26233e [processing] replace deprecated % operator with format() 2016-12-01 12:53:57 +01:00
Alexander Bruy
50a785bdd6 [processing] indentation update 2016-12-01 12:53:57 +01:00
Alexander Bruy
f002321be1 [processing] iteritems() removed, should use items() instead 2016-12-01 12:53:57 +01:00
volaya
40053f81f2 renamed ParameterExpression in raster calculator to avoid name clash 2016-12-01 12:53:57 +01:00
volaya
44f963f60d [processing] removed debug line 2016-12-01 12:53:57 +01:00