Nyall Dawson
c8bf6db363
[processing] Give progress reports/allow cancelation in in-place mode
2018-10-02 16:46:16 +10:00
Nyall Dawson
08cece22b0
[processing] Fix some exceptions when running in iterate mode
2018-10-01 16:13:38 +10:00
Alessandro Pasotti
930c3f8e45
Port makeFeaturesCompatible to C++
...
as: QgsVectorLayerUtils::makeFeaturesCompatible
With tests.
2018-09-25 08:17:14 +02:00
Nyall Dawson
9fcd4fd00c
Use QgsVectorLayerUtils.matchAttributesToFields in processing in-place edits
2018-09-25 08:49:21 +10:00
Nyall Dawson
e2068b8c1f
[processing] Pass a copy of the feature to processFeature, not
...
the original layer's feature
Otherwise python processFeature implementations may return a
modified shallow copy of this feature, which means that the
test for modifications fails, since we're comparing against
the same feature which was modified.
Fixes some python algorithms do not modify features when used
in-place mode.
2018-09-21 18:02:21 +10:00
Nyall Dawson
f51487551b
[processing] Use display name, not alg ID in undo history for in-place mode
2018-09-18 08:27:33 +10:00
Alessandro Pasotti
a60324b79b
Accept geometry-less features in a geometry layer
2018-09-14 18:23:03 +10:00
Alessandro Pasotti
699a9a3bfb
Raise exception if prepare fails
2018-09-14 18:23:03 +10:00
Alessandro Pasotti
e01449f5c5
Handle bad/null geometries and geometryless
2018-09-14 18:23:03 +10:00
Alessandro Pasotti
7b162b535f
Feature fixer: multi part to single part
2018-09-14 18:23:03 +10:00
Alessandro Pasotti
08f79bed43
More tests for Z/M add back
2018-09-14 18:23:03 +10:00
Alessandro Pasotti
4549ee5fff
In-place moved check logic into QgsAlgorithm
...
+ new tests
+ fixed fixer function
+ drop z/m
2018-09-14 18:23:03 +10:00
Alessandro Pasotti
11aaf90393
Function to make output features compatible
2018-09-14 18:23:03 +10:00
Nyall Dawson
681d44f11f
Messy mockup of feature
2018-09-14 18:23:03 +10:00
Juergen E. Fischer
6dfedc38e9
translation string fixes and cleanups
2018-02-15 22:31:15 +01:00
Denis Rouzaud
3dc3d9d1b2
unite QgsMessageLog::Level and QgsMessageBar::MessageLevel in Qgis::MessageLevel
...
make enum items lower case
remove unused QgsMessageLog::None and All
2018-02-06 08:56:40 -04:00
Alexander Bruy
0059b2b692
[processing] remove Python 2 compatibility layer
2017-11-28 12:27:45 +02:00
Alexander Bruy
56208540f9
[processing] remove GeoAlgorithmExecutionException
2017-07-13 09:02:24 +03:00
Nyall Dawson
81855a715b
Use FastInsert when adding features from processing
2017-06-23 14:34:38 +10:00
Nyall Dawson
4ea85362f4
Transform errors encountered while iterating features in
...
processing are non-fatal. We report them to users, and treat the
feature as having no geometry, but don't stop execution.
2017-06-23 12:08:54 +10:00
Nyall Dawson
93b7c2809e
Report success or failure after running algs
...
And auto catch python exceptions and report failure of model
2017-06-23 12:08:54 +10:00
Nyall Dawson
4b81630aa6
More responsive feedback when using iterate mode
2017-06-12 13:39:33 +10:00
Nyall Dawson
b9e0b46f9f
Fix running algorithms in iterating mode
2017-06-12 13:35:31 +10:00
Nyall Dawson
bdf051a03a
Partially port a trial python alg to new 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
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
dde48b5597
[processing] Fix invalid logging error
2017-05-01 17:29:40 +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
86002f3b6f
Move createContext to dataobjects
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
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
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
Alexander Bruy
c1e6ba0f40
[processing] rename AlgorithmExecutor's runalg() and runalgIterating()
...
to avoid overlapping with general functions and improve readability
2017-03-22 19:11:36 +02:00
Juergen E. Fischer
f00a87cb8a
update translation strings
2017-03-05 10:21:24 +01:00
Juergen E. Fischer
a10c890383
More QgsSettings updates:
...
* revives WMS
* QgsSettings::clear() added
* section added to QgsSettings::contains()
* type parameter added to sip binding of QgsSettings.value()
* TODO: customization & evis
2017-03-04 02:37:59 +01:00
Nyall Dawson
86e1138a04
[processing] Correctly handle when no feedback object is passed
2017-01-11 11:11:11 +10: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
volaya
b4562d143e
[processing] fixed iterative execution
...
fixes #15650
2016-10-18 16:55:19 +03:00
Juergen E. Fischer
31df84aa6b
run 2to3 on source
2016-09-21 23:30:04 +02:00
Alexander Bruy
acdde31b3d
[processing] more cleanups (follow up 06c4b07222)
2016-08-05 15:05:36 +03:00
Matthias Kuhn
bb79d13e82
Remove deprecated Qgis::WKBType and API cleanup ( #3325 )
...
* Remove deprecated Qgis::WKBType and API cleanup
Renames QgsWKBTypes to QgsWkbTypes
Replaces usage of the enums:
* Qgis::WKBType with QgsWkbTypes::Type
* Qgis::GeometryType with QgsWkbTypes::GeometryType
Their values should be forward compatible (a fact that was already
explited up to now by casting between the types)
Renames some SSLxxx to SslXxx and URIxxx to UriXxx
* Fix build warnings and simplify type handling
* Add a fixer to rewrite imports
* The forgotten rebase conflictThe forgotten rebase conflicts
* QgsDataSourcURI > QgsDataSourceUri
* QgsWKBTypes > QgsWkbTypes
* Qgis.WKBGeom > QgsWkbTypes.Geom
* Further python fixes
* Guess what... Qgis::wkbDimensions != QgsWkbTypes::wkbDimensions
* Fix tests
* Python 3 updates
* [travis] pull request caching cannot be disabled
so at least use it in r/w mode
* Fix python3 print in plugins
2016-08-04 09:10:08 +02:00
volaya
df2ca2e607
[processing] use SilentProgress by default if no progress object is passed
2016-07-21 07:01:17 +02:00
Denis Rouzaud
8071acd064
move PyQt compat folder to python/qgis
2016-04-29 14:10:26 +02:00
Juergen E. Fischer
2526d3e3c8
processing: switch to pyqt wrappers, flake8 fixes
2016-03-21 17:00:25 +01:00
Matthias Kuhn
61366583b1
[processing] Fix default argument is SilentProgress for GeoAlgorithm.execute()
2016-03-10 12:14:28 +01:00
Juergen E. Fischer
b39055b39c
indentation update (now including autopep8)
2015-08-22 14:29:41 +02:00