41 Commits

Author SHA1 Message Date
Nyall Dawson
7bfac70c9c [processing] Raise an exception when interpolation break/structure lines
are set without an attribute source set

Refs #27048
2019-11-05 16:57:33 +10:00
Nyall Dawson
64b52bf31b Fix handling of interpolation layers with differing input coordinate reference systems
Fixes #27048
2019-11-05 16:57:33 +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
Alexander Bruy
17fd86e723 [processing] use complex delimiter for interpolation data to avoid
overlaps with charactes which can be used in the layers source URI (fix #20490)
2019-01-22 10:15:07 +02:00
Alexander Bruy
e86ca50cc6 restore columns and rows parameters for the extremely rare case if
someone have used native interpolation algs in scripts/models
2018-12-30 08:15:26 +02:00
Alexander Bruy
5813b96159 add cell size option to IDW and TIN interpolation algorithms 2018-12-30 06:44:09 +02:00
Alexander Bruy
357cf270ff add value changed signal for custom interpolation parameter wrapper
move duplicated code into common file
2018-12-30 06:44:09 +02:00
nirvn
a463858bf3 [processing] restore TIN / IDW interpolation algorithms 2018-04-19 17:19:07 +07:00
Alexander Bruy
dca37abd0e [processing] add group id to QGIS algorithms 2017-12-14 18:04:12 +02:00
Nyall Dawson
fe78611cf5 Simplify interpolation API
Don't require both pixel size and row/col count in constructor,
since we can calculate the pixel size from the extent and row/column
count.
2017-11-03 14:00:07 +10:00
Nyall Dawson
8631472089 QgsTINInterpolator->QgsTinInterpolator 2017-11-03 10:49:33 +10:00
Nyall Dawson
e91ee5b71c More flexible API for interpolation
E.g. adds API support for interpolating by m value
2017-11-03 09:18:45 +10:00
Nyall Dawson
73306f1266 Update python code 2017-11-03 07:47:40 +10:00
Nyall Dawson
9ca57bd62c Use a QgsFeatureSink instead of path to shapefile in QgsTinInterpolator
Instead of just forcing writing the triangulation to a shapefile (boo!)
change the parameter to use a QgsFeatureSink, so that anything
which implements the QgsFeatureSink interface can be used for
storing the triangulation.
2017-08-29 21:46:35 +10:00
Nyall Dawson
114f071cf8 Don't generate triangulation files by default in TIN algorithm 2017-08-19 05:08:40 +10:00
Nyall Dawson
090bb9bba4 Use QgsFeedback instead of QProgressDialog in tin interpolator 2017-08-19 05:05:40 +10:00
Nyall Dawson
000c86e7de Restore TIN interpolation algorithm 2017-08-19 04:56:48 +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
d16f117b6c Port conversion to/from script code to c++ 2017-06-27 08:33:13 +10:00
Nyall Dawson
f64f74fb63 Fix incorrect import 2017-06-06 13:41:42 +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
877775d2c0 Remove a bunch of unneeded imports 2017-05-02 14:47:58 +10:00
Nyall Dawson
4ed18b112a Add a bunch of missing QgsProcessingUtils imports 2017-05-02 14:36:23 +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
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
Alexander Bruy
f01b2f0597 [processing] extent is mandatory parameter for interpolation algorithms 2017-01-13 15:50:38 +02:00
Alexander Bruy
ce88da6eb9 [processing] raise error if cellsize is not defined in interpolation
algorithm
2017-01-13 15:50:38 +02: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
Juergen E. Fischer
8fb37aa666 indentation fixes 2016-12-26 23:36:16 +01:00
Alexander Bruy
7dde862cc4 [processing] add missed functionality from Interpolation plugin 2016-12-20 10:14:49 +02:00