385 Commits

Author SHA1 Message Date
Nyall Dawson
8dab2cd4d7 [FEATURE][processing] New algorithm to extend lines
Allows extending linestrings by a set distance at the start
and end of the line
2016-10-31 07:56:24 +10:00
Nyall Dawson
74e64645e4 [FEATURE][processing] New extract by expression algorithm
Filters an input layer by expression
2016-10-29 08:05:26 +10:00
Nyall Dawson
5eb875d63b [processing] Add algorithm to strip null geometries 2016-10-24 11:24:37 +10:00
Bas Couwenberg
85818c684c Fix copyright in 2017
Match copyright header with python code.
2016-10-21 23:14:29 +02:00
Alexander Bruy
b9c2ab2b74 Merge pull request #3646 from alexbruy/processing-otb-test
[processing] add tests for OTB algorithms
2016-10-20 12:30:34 +03:00
Alexander Bruy
a3ebc7bdb6 [processing] add test for ParameterSelection 2016-10-20 12:13:51 +03:00
Alexander Bruy
df90e6b964 [processing] remove unused test data 2016-10-20 11:28:34 +03:00
Alexander Bruy
fd8379c140 [processing] remove unused file 2016-10-20 11:28:33 +03:00
Manuel Grizonnet
7b22f5d8da TEST: add a test for otb conversion application (simpler than bandmath) 2016-10-20 09:23:43 +03:00
Alexander Bruy
d4f410a307 Install OTB in QGIS Travis CI script to be able to run OTB test 2016-10-20 09:23:09 +03:00
Manuel Grizonnet
1e7018f0cc TEST: add test of OTB BandMath application in processing 2016-10-20 09:21:40 +03:00
Alexander Bruy
58f31f1a82 [processing] add tests for interpolation tools 2016-10-19 16:43:05 +03:00
Piotr Pociask
cd0fefb42b [processing] Update voronoi classes for Python3; update expected data for multipoint Delaunay traingulation test 2016-10-19 11:15:38 +02:00
Piotr Pociask
3af23036fd Test for multipoint Delaunay triangulation 2016-10-19 11:15:38 +02:00
Sandro Santilli
6731eaa9e5 Add test for setting up connection string
Conflicts:
	python/plugins/processing/algs/gdal/ogr2ogrtopostgis.py
2016-10-18 16:55:19 +03:00
Sandro Santilli
8843de88c7 Fix ogrLayerName handling of PostgreSQL dataset URIs
Also document "uri" parameter semantic, and add more tests.
See for background
https://lists.osgeo.org/pipermail/qgis-developer/2016-October/045311.html
REF #15698
2016-10-18 11:05:31 +02:00
Sandro Santilli
52a0082ade Fix extraction of ogr LayerName from database dataset URIs
See 6c5364186d (commitcomment-19439676)
Includes testcase.

REF #15698
2016-10-17 11:55:35 +02:00
Matthias Kuhn
d4b063626e Minimal improvement for processing tests README 2016-10-17 09:36:00 +02:00
Nyall Dawson
a05b610a8b [processing] Use prepared geometries for intersects tests
Wherever possible use prepared geometry engines for intersects
type tests, as it's much faster
2016-10-17 11:18:46 +10:00
Sandro Santilli
6c5364186d Fix extraction of ogr LayerName from multi-layer dataset URIs
Adds supports for "layerid" when present.
Drop special handling for "table=" portions found in URI,
making the code more generic.

Includes testcase.

Fixes #15698 - import geodatabase to postgis via processing
2016-10-15 09:13:18 +02:00
volaya
35f17496c1 Merge pull request #3581 from alexbruy/processing-terrain-analysis
[processing] add raster terrain analysis tools
2016-10-13 13:53:55 +02:00
Nyall Dawson
6605a2274f [processing] Optimise uniqueValues method
Now it uses the standard QgsVectorLayer.uniqueValues() method
where possible so that provider side optimisations are used

Also add test, and optimise request when using selected
features only
2016-10-12 17:05:15 +10:00
Nyall Dawson
05ea4be7c3 [processing] Fix inefficient values() method
Method was iterating over ever feature in a layer, including
geometries and all attributes for EVERY attribute requested

Add test and refactor so only one optimised iteration (eg no
geometry, only required attributes) is used
2016-10-12 16:56:29 +10:00
Alexander Bruy
a356bac1a5 [procesing] add tests for raster terrain analysis algorithms 2016-10-11 11:57:04 +03:00
Nyall Dawson
d4323addf0 [processing] Fix missing points in polygons menu item (fix #15670)
Also add a unit test
2016-10-11 09:30:46 +10:00
Nyall Dawson
90aebd117d [processing] Add geometry info should add z/m values (fix #14659) 2016-10-11 09:30:41 +10:00
Alexander Bruy
2c9fdae414 move imports to the top 2016-10-10 15:56:00 +03:00
Alexander Bruy
9b75746003 [processing] remove obsolete import 2016-10-07 16:32:15 +02:00
volaya
fe5d0166cc [processing] added multiple option to ParameterTableFIeld
removed ParameterTableMultipleField and did some cleanup
2016-10-05 12:38:09 +02:00
Juergen E. Fischer
31df84aa6b run 2to3 on source 2016-09-21 23:30:04 +02:00
Alexander Bruy
519e76c79f [processing] add test for gdalinfo algorithm 2016-09-14 15:55:14 +03:00
Nyall Dawson
4d60d0cdb5 [FEATURE] Add option to QgsGeometry::smooth to not smooth
segments shorter than a certain threshold or sharp corners
with an angle exceeding a threshold

Expose the angle threshold to processing smooth algorithm

Also:
- optimise QgsGeometry::smooth for new geometry classes
- Fix smooth does not work with geometries containing Z/M
2016-09-03 08:31:33 +10:00
Alexander Bruy
65db336eaf [processing] move some constants to the dataobjects module 2016-09-02 09:28:45 +03:00
Nyall Dawson
56b77db88c [FEATURE][processing] Add choice of simplification method to simplify
This change allows users to choose which method to use when running
the simplify geometries algorithm, with choices of the existing
distance based (Douglas Peucker) algorithm, area based (Visvalingam)
algorithm and snap-to-grid.

Visvaligam in particular usually results in more cartographically
pleasing simplification over the standard distance based methods.
2016-09-01 08:22:18 +10:00
Nyall Dawson
5d97d03ad5 [processing] Fix simplify alg handling of null goemetry, add tests 2016-09-01 07:50:02 +10:00
Nyall Dawson
9fa4e776db [FEATURE][processing] Extract nodes algorithm now saves node
index, distance along line and angle at node

Also correctly handles null geometries
2016-08-29 11:02:14 +10:00
Nyall Dawson
8db9284cb3 [FEATURE][processing] Optimised points along geometry algorithm
Supports also polygon geometries, handles null geometries,
and records the original line angle along with the distance
for each point.
2016-08-29 11:01:48 +10:00
Nyall Dawson
989d9864c5 [FEATURE][processing] New algorithm for single sided buffers 2016-08-17 06:44:04 +10:00
Nyall Dawson
0f268bf27a [FEATURE][processing] New algorithm for translating (moving) points
Allows geometries to be shifted by a x/y displacement
2016-08-14 14:36:10 +10:00
Nyall Dawson
e9423dc4dd [processing] Rework centroid algorithm to handle non-polygon layers
The existing polygoncentroids algorithm has been deprecated
(and hidden from the toolbox), and a new, generic centroids
algorithm added which works with lines and multipoints
2016-08-12 07:50:47 +10:00
Nyall Dawson
9bc61e77c7 [processing] Create vector files using default dataset/layer options
Fixes missing CRS when saving to GML (fix #14544)
2016-08-12 07:01:04 +10:00
Nyall Dawson
5025c828e5 [processing] Expose buffer settings (cap/join style/mitre limit)
Also make fixed distance buffer correctly handle null geometries
(copy the row as a geometryless row)
2016-08-11 18:35:30 +10:00
Nyall Dawson
0a2b661ecb Make QgsGeometry::offsetCurve handle multi* geometries 2016-08-11 17:59:01 +10:00
Nyall Dawson
82f4a82c66 [FEATURE][processing] New algorithm for offsetting lines 2016-08-11 08:38:43 +10:00
Nyall Dawson
142de7cb08 [FEATURE][processing] Point on surface algorithm 2016-08-10 16:57:38 +10:00
Nyall Dawson
ab022451a5 [FEATURE][processing] New algorithm for geometry boundary 2016-08-10 16:32:31 +10:00
Nyall Dawson
bd8db5d156 [FEATURE][processing] New algorithm for calculating feature bounding boxes 2016-08-10 15:41:44 +10: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
Nyall Dawson
71ebdb8f69 [FEATURE] Optimise processing clip algorithm
Before the algorithm was written to optimise clipping a few
features against thousands of mask features. The revised algorithm
is optimised for clipping thousands of input features against
a few mask features.

Given that this second operation is much more likely, it makes
sense to optimise for this use case.

I've also applied some other optimisations like taking advantage
of spatial indexes on the providers, using prepared geometries
and also only applying an intersection operation if the geometry
isn't wholly contained by the mask geometry.

Benchmarks:

clipping roads layer with 1 million lines against 2 polygons

before: 5 mins 30 seconds
after: 10 seconds

clipping address layer with 5 million points against 2 polygons

before: 50 minutes
after: 30 seconds
2016-08-03 13:15:03 +10:00
Nyall Dawson
4bfdcf0927 Fix expected test data 2016-08-02 13:50:59 +10:00