662 Commits

Author SHA1 Message Date
Salvatore Larosa
48ecee5643 [processing] fix duplicates fields name in field calculator algorithm when switching between layers (followup c2699b4) 2017-05-22 23:29:26 +02:00
Alexander Bruy
fe7c981aea [processing] handle NULL values in the single to multi algorithm (fix #15822) 2017-05-16 13:43:42 +03:00
Alexander Bruy
11475c621d Revert "Merge pull request #4562 from alexbruy/processing-singletomulti-3"
This reverts commit e3d79a1fe940b5d813b5f79c51b43393d085bb16, reversing
changes made to 3f7f95ee262ea3646d61600c21faed0866bc70b0.

Reverting again, as Travis started failing after merging PR (with all
test passed) into master branch
2017-05-16 13:42:47 +03:00
Alexander Bruy
b56e46dad4 [processing] handle NULL values in the single to multi algorithm (fix #15822) 2017-05-16 10:06:26 +03:00
Alexander Bruy
c620c7c306 [processing] stop algorithm execution if geometry/feature error occured
(fix #11986)
2017-05-13 09:45:37 +03:00
Nyall Dawson
75a5d5dda1 Remove unused skipAttributeCreation option in QgsVectorLayerExporter::exportLayer 2017-05-12 08:03:23 +10:00
Nyall Dawson
384369c3c4 Rename QgsVectorLayerImport to QgsVectorLayerExporter
Since the majority of users of this class will be exporting
an existing map layer to a data provider, the QgsVectorLayerImport
name is misleading and suggests that this class is designed
just to bring layers "into" QGIS.

Explicitly naming the class "Exporter" should help API users
discover this class.

Also cleanup API and improve docs
2017-05-12 08:02:51 +10:00
Nyall Dawson
6aa10c6817 [processing] Cleanup some layer/writer related handling
Ensure that layers created by QgsProcessingUtils::createFeatureSink
can always be retrieved using QgsProcessingUtils::mapLayerFromString
2017-05-09 15:29:41 +10:00
Nyall Dawson
06c4dea7ff [processing] Remove vector.createVectorWriter
Use QgsProcessingUtils.createFeatureSink instead
2017-05-07 08:02:54 +10:00
Alexander Bruy
c2699b4640 [processing] reset variables list in field calculator on layer change (fix #15633) 2017-05-04 10:14:37 +03:00
Nyall Dawson
1526afecbd Add missing import 2017-05-03 06:26:12 +10:00
Nyall Dawson
15de36ab26 [processing] Always require real QgsFields objects in getVectorWriter,
don't allow arrays of fields as inputs
2017-05-03 06:26:12 +10:00
Nyall Dawson
43a86808a2 [processing] Fix vector split alg 2017-05-03 06:25:30 +10:00
Nyall Dawson
8e70aa84fa Merge pull request #4439 from arnaud-morvan/processing_run_context
[processing] Handle context in processing.run
2017-05-03 05:49:06 +10:00
arnaud.morvan@camptocamp.com
e232a0809c [processing] Handle context in processing.run
Fix #15985 (Concave hull)
2017-05-02 17:04:57 +02:00
LOMENEDE Jean-Daniel
dea558b824 fix error message in merge algorithm 2017-05-02 13:39:22 +02: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
df1ead5ed4 [processing] Remove vector.spatialindex()
Use QgsProcessingUtils.createSpatialIndex() instead.
2017-05-02 13:39:36 +10:00
Nyall Dawson
7eb7a7aa01 [processing] Remove vector.bufferedBoundingBox()
Use QgsRectangle.grow() instead
2017-05-02 13:27:01 +10:00
Nyall Dawson
11fb72eef7 Only expose a single mapLayerFromString method in QgsProcessingUtils 2017-05-02 12:33:22 +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
Alexander Bruy
12252030ac [processing] uncheck Z-coordinate on layer change in Interpolation
algorithm (fix #10010)
2017-05-01 13:00:23 +03:00
Alexander Bruy
7ee1cbfaae Revert "[processing] handle NULL values in the Singleparts to multiparts (fix #15822)"
This reverts commit a944f7c4c1010767abb811200686e327040c2d32.
2017-05-01 10:53:15 +03:00
Alexander Bruy
a944f7c4c1 [processing] handle NULL values in the Singleparts to multiparts (fix #15822) 2017-04-30 14:31:52 +03:00
Alexander Bruy
eeba0efc36 followup 1ac053fc26 2017-04-27 10:59:46 +03:00
Alexander Bruy
1ac053fc26 [processing] prevent division by zero in save selected features
algorithm (fix #16431)
2017-04-27 10:54:07 +03:00
Nyall Dawson
0b0ccc9e9d Rename QgsVectorLayer::selectedFeaturesIterator to getSelectedFeatures
It's more in line with QgsVectorLayer::getFeatures, hence a more
discoverable API
2017-04-27 11:16:10 +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
a4cd66f8d8 Port some more code to new API 2017-04-26 13:13:08 +10:00
Nyall Dawson
f247a7cda3 Add c++ optimised uniqueValues method which respects processing context
Remove processing vector.uniqueValues/vector.getUniqueValues
and port usage to c++ method

Should be much faster than the python method, as the c++ method takes
advantage of handing off the unique values calculation to the
provider source whenever possible
2017-04-26 12:53:35 +10:00
Nyall Dawson
845027d0a3 Fix failing tests 2017-04-26 12:53:35 +10:00
Nyall Dawson
427c3b1684 Remove vector.features
Use QgsProcessingUtils.getFeatures instead
2017-04-26 12:53:35 +10:00
Nyall Dawson
6397386fda Remove len method from vector.features
Use QgsProcessingUtils::featureCount instead
2017-04-26 12:53:35 +10:00
Nyall Dawson
3f137e123d Add context argument to other vector methods 2017-04-26 12:53:35 +10:00
Nyall Dawson
adc7cf0ec2 Add context argument to vector.features 2017-04-26 12:53:35 +10:00
Nyall Dawson
dd4f530cfb [processing] Pass context argument to processAlgorithm 2017-04-26 12:53:35 +10:00
volaya
5b8c083da7 indentation fix 2017-04-20 14:47:02 +02:00
volaya
54e30b93f3 improvements for extracts within subsets 2017-04-20 14:03:08 +02:00
Denis Rouzaud
0b0e8a6a89 move QgsFieldModel and QgsFieldProxyModel to core and sipify 2017-04-19 16:44:36 +02:00
Alexander Bruy
737906c55c [processing] add information message when feature skipped 2017-04-19 14:06:16 +03:00
Alexander Bruy
1016119468 [processing] prevent division by zero in random points in polygons fixed 2017-04-19 14:01:41 +03:00
Nyall Dawson
cc5b9bfe17 More QgsDistanceArea API cleanups and simplification
- setEllipsoidalMode() was removed. Ellipsoidal calculations are
now enabled whenever a valid ellipsoid() has been set. Set the
ellipsoid to 'NONE' to disable ellipsoidal calculations.

- ellipsoidalEnabled() was removed. Ellipsoidal calculations
are now enabled whenever a valid ellipsoid() is set. Check
willUseEllipsoid() to determine whether ellipsoidal
calculations will be performed.

- sourceCrs() and setSourceCrs() now always take and return
QgsCoordinateReferenceSystem objects. All string/ID based CRS
methods were removed.

- geographic() was removed. This was only used internally
in one place, so was replaced with sourceCrs().isGeographic() instead.

- some largely overlapping measurement functions were consolidated
2017-04-18 08:14:16 +10:00
matteo
16c8dac2ac travis fix 2017-04-12 21:07:30 +02:00
matteo
bca0ca25ee 2 new plots added 2017-04-12 21:07:30 +02:00
matteo
0c5b667986 fix category error and remove np dependency 2017-04-12 21:07:30 +02:00
Nyall Dawson
fdcf04f9f3 Remove AlgorithmProvider
Totally ported to QgsProcessingProvider
2017-04-07 13:21:28 +10:00