241 Commits

Author SHA1 Message Date
Nyall Dawson
85cd1c1673 [FEATURE] Split minimum enclosing geometry algs into separate
feature based algorithms

Instead of algorithms which handle both whole layers/groups
of features/individual features, we leave the whole layer
and group of features handling to the "Minimum bounding
geometry" algorithm.

The feature-by-feature algorithms are now native c++
algorithms.

This affects:
- bounding boxes
- convex hulls
- minimum enclosing circle
- minimum oriented rectangles
2017-09-04 08:42:03 +10:00
Nyall Dawson
83affdc7f5 [FEATURE] New processing algorithm "minimum bounding geometry"
This algorithm creates geometries which enclose the features
from an input layer.

Numerous enclosing geometry types are supported, including
bounding boxes (envelopes), oriented rectangles, circles and
convex hulls.

Optionally, the features can be grouped by a field. If set,
this causes the output layer to contain one feature per grouped
value with a minimal geometry covering just the features with
matching values.
2017-09-04 08:42:03 +10:00
lbartoletti
e30f7044c9 [FEATURE][Processing] Minimal enclosing circle 2017-09-03 07:37:53 +10:00
Nyall Dawson
bb5a499c23 Fix generation of processing tests on Windows 2017-08-30 15:25:11 +10:00
Nyall Dawson
8dde180f3f Rename parameter for consistency with other algs 2017-08-30 14:42:19 +10:00
Nyall Dawson
44e7f3371e [FEATURE] New algorithm for creating vector layer from raster layer's extent
Allows creation of a new vector layer with a single feature containing
a raster layer's extent. Previously this was only possible for
vector layers.
2017-08-30 14:40:21 +10:00
Nyall Dawson
641d78bb4c Add new raster hash for hillshade test (verified ok) 2017-08-25 16:21:42 +10:00
Nyall Dawson
51f8b1a2bb Port Convert Geometry Type to new API
Includes partial support for Z/M types (values are lost during
conversion, but at least 2d geometries are exported)

TODO: full support for Z/M/curves
2017-08-20 18:21:03 +10:00
Nyall Dawson
4d242c5673 Partial port of raster calculator to new API
TODO: modeler handling
2017-08-20 18:21:03 +10:00
Nyall Dawson
338ee36b1d Port Execute SQL to new API, add test 2017-08-20 18:21:03 +10:00
Nyall Dawson
cfb926a70d Port Find Projection alg to new API
Also modify alg to export a vector table of candidates instead of
a HTML list, since a vector table is more useful inside of
models and can be used for further analysis steps.
2017-08-20 18:21:03 +10:00
Nyall Dawson
a56725f76e Resurrect Python Field Calculator algorithm, add test 2017-08-20 18:21:02 +10:00
Nyall Dawson
6144b1c5d9 Resurrect Field Calculator algorithm, add test 2017-08-20 18:21:02 +10:00
Nyall Dawson
000c86e7de Restore TIN interpolation algorithm 2017-08-19 04:56:48 +10:00
Nyall Dawson
a07ea33340 Port IDW Interpolation alg to new API 2017-08-19 04:03:50 +10:00
Nyall Dawson
076fdc9449 Port rectangles, ovals, diamonds to new API 2017-08-19 02:37:39 +10:00
Nyall Dawson
f6600f23aa Port raster relief alg to new API 2017-08-19 00:01:58 +10:00
Nyall Dawson
c4011ad337 Port oriented minimum bounds to new API 2017-08-18 15:22:13 +10:00
Nyall Dawson
7dbfc5202f Merge pull request #4210 from arnaud-morvan/processing_aggregate
[processing] [needs-docs] Add aggregate algorithm
2017-08-18 00:28:35 +10:00
Nyall Dawson
7b2250bb35 Convert processing tests to use native algs where they exist 2017-08-17 20:20:58 +10:00
arnaud.morvan@camptocamp.com
4b5d81b370 [processing] Add Aggregate algorithm 2017-08-16 10:46:15 +02:00
Denis Rouzaud
19efee8a61 alog:along typo (#5025) 2017-08-15 18:21:35 +02:00
arnaud.morvan@camptocamp.com
b3a9e46cfe [processing] Port refactor fields to new API 2017-08-14 13:48:50 +02:00
Nyall Dawson
47fe2a182d Port Points From Lines to new API 2017-08-14 01:42:16 +10:00
Nyall Dawson
c6b3855b41 Port Points From Polygons to new API 2017-08-14 01:42:15 +10:00
Nyall Dawson
c8ac7841f0 Port Points Displacement algorithm to new API
Rework algorithm to use same approach as points displacement
renderer. Also maintain Z/M values, and add tests and docs.
2017-08-14 01:42:15 +10:00
Nyall Dawson
4ab4a1fcad Spell check 'mitre' -> 'miter' (i.e. use en-us variation) 2017-08-07 18:08:57 +10:00
Nyall Dawson
d4ad063f45 Allow specifying a 'primary key' field when comparing layers for
processing tests

Some algorithms will return results in different orders, e.g.
due to the use of dicts or other methods which do not guarantee
a fixed return order.

Using a primary key to do the feature match allows us to flexibly
handle these situations and provide tests for these algorithms.
2017-08-05 22:10:18 +10:00
Nyall Dawson
b93be39c24 Port Stats by Category to new API
Improvements:
- keep original field type and name for category field
- add unit test
2017-08-05 17:51:38 +10:00
Nyall Dawson
adda744576 Port Join Attributes alg to new API
Improvements:
- don't fetch unused geometry for joined table
2017-08-05 17:51:38 +10:00
Nyall Dawson
a1f487d679 Add alternate reference layer for points to path algorithm 2017-08-05 17:51:38 +10:00
Nyall Dawson
c2559d8273 Add second reference layer for topocolor algorithm 2017-08-05 17:51:38 +10:00
Nyall Dawson
5d635d190d Allow list of acceptable raster hashes for processing algorithm tests
Differences in gdal libraries mean the hash value may differ between
platforms. Allow multiple acceptable hashes to be listed for
expected test results
2017-08-05 17:51:38 +10:00
Nyall Dawson
7132faa974 Port Topocolor algorithm to new API 2017-08-05 17:51:38 +10:00
Nyall Dawson
ec4df6c019 Port points to path to new API
Improvements:
- Maintain Z/M values
- Keep original data type for group/order fields
- Group field is optional
- Added unit tests
- Don't export text files for features by default
2017-08-05 17:51:38 +10:00
Nyall Dawson
b4b39996d2 Port hub lines algorithm to new API
Improvements:
- transparent reprojection to match hub/spoke CRS
- keep all attributes from matched hub/spoke features
- don't break after matching one hub point to spoke - instead
join ALL hub/spoke points with matching id values
2017-08-05 17:51:38 +10:00
Nyall Dawson
e0354456e3 Port Hub Distance (lines) to new API
Improvements:
 - handle different CRS between points and hubs
 - add unit test
2017-08-05 17:51:38 +10:00
Nyall Dawson
fc1746e770 Port Hub Distance (points) to new API
Improvements:
- handle different CRS between points and hubs
- add unit test
2017-08-05 17:51:38 +10:00
Nyall Dawson
0930e18bf9 Add tests for gridify 2017-08-05 17:51:38 +10:00
Nyall Dawson
54be720485 Port grid lines to new API 2017-08-05 17:51:38 +10:00
Alexander Bruy
1f276a12bf [processing] port raster layer statistics 2017-08-01 14:52:25 +03:00
Alexander Bruy
fa0bb2e6dc [processing] improve Create constant raster algorithm 2017-08-01 14:52:25 +03:00
Nyall Dawson
e8290928dd Port Variable distance buffer to new API
Improvements:
- add cap style/join style/ miter limit setting from fixed distance buffer
2017-07-28 14:10:48 +10:00
Nyall Dawson
5763381cbd Port fixed distance buffer to new API 2017-07-28 13:58:52 +10:00
Nyall Dawson
e53a14a23e Port Convex Hull alg to new API
Improvements:
- slight optimisation to feature requests - don't request attributes
which are not used
- Remove "method" param. Now the decision to group by field or
not is made only on whether a class field was selected or not
2017-07-28 13:27:52 +10:00
Nyall Dawson
c5cb3df15b Port singlepart to multipart to new API, fix disabled test 2017-07-28 12:42:40 +10:00
Nyall Dawson
2a6f51218a Port points along line to new API 2017-07-28 12:05:05 +10:00
Nyall Dawson
becf6904b1 Port extract specific nodes algorithm to new API
Improvements:
- keep Z/M values if present in geometries
2017-07-28 11:50:16 +10:00
Nyall Dawson
5b6696fce3 Port equivalent num field algorithm to new API 2017-07-28 10:54:35 +10:00
Nyall Dawson
82182040ab Port Create Constant Raster to new API and add test 2017-07-27 16:02:52 +10:00