36 Commits

Author SHA1 Message Date
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
Nyall Dawson
60147e8147 Remove use of constGeometry 2016-08-02 13:50:59 +10:00
Nyall Dawson
bb54b4f41a [FEATURE] Make processing dissolve algorithm accept multiple fields
This allows you to dissolve based on more than one field value
2016-08-02 11:54:02 +10:00
Nyall Dawson
0455b6600d [processing] Fix multipart to singlepart handling of null geometry 2016-08-02 11:53:11 +10:00
Nyall Dawson
ccfd4c36be [processing] Add test for dissolve using field values 2016-08-02 11:52:37 +10:00
Nyall Dawson
30fcaed634 [FEATURE][processing] New algorithm for merging connected lines
This algorithm joins all connected parts of MultiLineString
geometries into single LineString geometries.

If any parts of the input MultiLineString geometries are not
connected, the resultant geometry will be a MultiLineString
containing any lines which could be merged and any non-connected
line parts.
2016-08-02 11:51:44 +10:00
Nyall Dawson
2db7fca7a6 [processing] Add tests for clip algorithm 2016-07-14 08:05:59 +10:00
Médéric RIBREUX
a1c541ee6d Add another bunch of tests for rasters 2016-06-26 16:13:39 +02:00
Médéric RIBREUX
bb94a179a9 Add new test data and a bunch of unit tests 2016-06-12 17:36:42 +02:00
Médéric Ribreux
1f21af6672 Improve tests: add external file support into AlgorithmsTest 2016-05-29 09:00:16 +02:00
Matthias Kuhn
dbb24e971e [processing tests] More tolerance in statistics test 2016-05-22 21:52:55 +02:00
Alexander Bruy
b7a4e20627 [processing] add Rectangles, Ovals, Diamonds algorithm (fix #11575)
This is direct port of abandoned "Rectangles, Ovals and diamonds" plugin.
There are two algorithms: one uses fixed values and second — variable
values from attribute table. Test for fixed distance version included.
2016-04-13 12:33:08 +03:00
Anita Graser
b8d1fb6fc9 added buffer tests 2016-03-27 13:31:14 +02:00
Maximilian Krambach
097b18190c identation errors and wrong file paths 2016-03-22 22:01:21 +01:00
Maximilian Krambach
c445828f9e changed check for validity from isGeosValid() to validateGeometry() in dissolve.py 2016-03-21 21:30:23 +01:00
Bernhard Ströbl
bd64b4fd4c [processing] renew test results depending on polys.gml 2016-03-16 14:29:45 +01:00
Bernhard Ströbl
f73b572704 [processing] renew test output for eliminate 2016-03-16 14:07:12 +01:00
Bernhard Ströbl
d7562eef95 [processing] add test for eliminate algorithm 2016-03-16 08:36:02 +01:00
Matthias Kuhn
e888d6d684 [processing] Add autoincremental field test 2016-03-15 11:45:34 +01:00
Matthias Kuhn
9ca09abb02 Fix expected dataset for splitlineswithlines test 2016-03-14 09:57:04 +01:00
Bernhard Ströbl
648e6ac692 [processing] test: remove gfs output files 2016-03-14 09:57:04 +01:00
Bernhard Ströbl
9124586bbf [processing] update test output files 2016-03-14 09:57:04 +01:00
Bernhard Ströbl
bf54b9529a [processing] test cases for splitlineswithlines 2016-03-14 09:57:04 +01:00
Nyall Dawson
d24a2df64d Followup 193fedf, updated expected results 2016-03-04 08:48:04 +01:00
Nyall Dawson
5a18bb628a Revert "Followup 193fedf, updated expected results"
This reverts commit f722bb26a1267274248c9488fcb069719bfde254.
2016-03-04 10:51:41 +11:00
Nyall Dawson
f722bb26a1 Followup 193fedf, updated expected results 2016-03-04 09:12:22 +11:00
Matthias Kuhn
3e5e108b1a [processing] Make basic statistics translatable 2016-02-26 08:58:30 +01:00
Matthias Kuhn
3f10553069 Add new test type "regex" to processing tests 2016-02-23 10:24:34 +01:00
Alexander Bruy
d3852e481e [processing] fix handling of NULLs is Basic statistics for text fields 2016-02-22 13:35:13 +02:00
Matthias Kuhn
20fc30b0fe Add file comparison to processing tests
And a test for basic numeric statistics
2016-02-21 13:15:21 +01:00
Matthias Kuhn
9ad69adc35 Completely switch over to gml for processing test data
The different gdal versions have issues with geojson wrt null attribute types
2016-02-04 15:36:29 +01:00
Matthias Kuhn
29df8f3431 Fix broken output field types in test dataset 2016-02-04 13:36:43 +01:00
Matthias Kuhn
163894d055 [processing] Test densify with multipolygons 2016-02-04 13:36:43 +01:00
Matthias Kuhn
8adc871eef [processing] Add expected test datasets 2016-02-04 13:36:43 +01:00
Matthias Kuhn
ff04fd3b52 [processing] Add test suite 2016-02-04 13:36:43 +01:00