275 Commits

Author SHA1 Message Date
Nyall Dawson
18f85d9e54 Port drop M/Z algorithm to c++ 2017-10-13 08:30:12 +10:00
Nyall Dawson
b5197c8c53 Port drop geometries to c++ 2017-10-13 08:29:37 +10:00
Nyall Dawson
2951afa324 Port boundary algorithm to c++
Also allow feature based algorithms to customise their appectable
input layers types and set suitable filters for all applicable
algorithms
2017-10-13 08:28:34 +10:00
Nyall Dawson
97c1b0d322 [FEATURE] Port autoincremental field to c++
Also add:
- support for setting initial value for field to start at
- support for user-set field names (instead of always using 'AUTO')
2017-10-13 08:26:36 +10:00
Nyall Dawson
61dc8ea28f [FEATURE][processing] New 'assign projection' algorithm
This algorithm assigns a new projection to a vector layer.
It creates a new layer with the exact same features and
geometries as the input one, but assigned to a new CRS.
E.g. the geometries are not reprojected, they are just
assigned to a different CRS.

This algorithm can be used to repair layers which have
been assigned an incorrect projection.
2017-10-13 08:26:36 +10:00
Nyall Dawson
bd24c8b664 Allow selection of a subset of fields to keep for hub lines algorithm 2017-10-13 08:26:36 +10:00
Nyall Dawson
cc19d0a70d Port hub lines algorithm to c++
Also:
- optimise a bit
- retain z/m values
- use point on surface for non-point layers, instead of
center of geometry bounding box
2017-10-13 08:26:36 +10:00
Nyall Dawson
cac171a2e0 Port Join Attributes to c++, add option to select subset of fields to copy 2017-10-13 08:26:36 +10:00
Mathieu Pellerin
61dcba4a81 [processing] add area to raster layer unique values report algorithm (#5334) 2017-10-10 13:52:16 +07:00
Mathieu Pellerin
201091ea3e [FEATURE][processing] raster layer unique values count algorithm (#5308) 2017-10-09 16:42:17 +07:00
Nyall Dawson
0943cd5d51 Resurrect commented out zonal stats test 2017-09-26 15:30:14 +10:00
Nyall Dawson
fddb6a59a1 Make shortest path test less fussy 2017-09-26 15:19:05 +10:00
Nyall Dawson
79b143bd15 Enable a commented out processing test 2017-09-26 15:16:49 +10:00
Alexander Bruy
73d6058bd1 ignore crs for network analysis tests 2017-09-25 13:26:30 +03:00
Alexander Bruy
745111dbdb [processing] enable network analysis tests 2017-09-25 11:20:42 +03:00
Nyall Dawson
0dd434c183 [processing] Port mean coordinates to c++
And remove final use of inefficient vector.extractPoints function
2017-09-23 09:25:18 +10:00
Nyall Dawson
21f92a6fb2 Port line intersection and split with lines to c++ 2017-09-22 15:19:32 +10:00
Nyall Dawson
d8db3ecc4d [FEATURE] New processing algorithm "extract/clip by extent"
Allows extract a subset of another layer using an extent, with
optional setting to clip geometries to the extent
2017-09-15 08:33:19 +10:00
Nyall Dawson
d96a3f4dd4 Port simplify geometries to c++ 2017-09-14 09:57:15 +10:00
Nyall Dawson
8e8f3edc55 Port merge lines and smooth to c++ 2017-09-14 09:57:15 +10:00
Nyall Dawson
7c5521ecdf Port fix geometries alg to c++ 2017-09-14 09:57:15 +10:00
Nyall Dawson
be88da8173 [FEATURE][processing] Add 'Join by location (summary)' algorithm
Like the main Join Attributes by Location algorithm, this algorithm
takes two layers and combines the attributes based on a spatial
criteria.

However this algorithm calculates summaries for the attributes for
all matching features, e.g. calculating the mean/min/max/etc.

The list of fields to summaries, and the summaries to
calculate for those, can be selected.
2017-09-13 18:45:56 +10:00
Nyall Dawson
458e994d39 [FEATURE] Reworked processing 'Join by location' alg
Improvements:
- transparently handle different source/join CRS
- added option to create output feature for EVERY joined
feature (i.e. 1 to many type join)
- added option to select joined fields to take
- optimised performance of algorithm

The previous option to create a summary of joined features has been
removed, and will be moved to a separate 'Join by location (summary)'
algorithm.
2017-09-13 08:01:56 +10:00
Nyall Dawson
a650681061 Merge pull request #5131 from nyalldawson/location_algs
Rework Select by Location algorithm
2017-09-11 15:50:43 +10:00
Nyall Dawson
6a760ef3df More tests for Extract by Location 2017-09-10 10:50:55 +10:00
Nyall Dawson
e0026609bb Fix missing geometries/attributes in Extract by Location 2017-09-10 10:45:34 +10:00
Nyall Dawson
f4b9bbd8ab Swap unit tests to use native algorithms 2017-09-08 20:32:12 +10:00
Nyall Dawson
4ca972a2ff Fix stats by categories tests on Travis 2017-09-08 16:35:18 +10:00
Nyall Dawson
c750cb2154 Fix existing unit test, add new tests 2017-09-08 09:21:02 +10:00
Nyall Dawson
a55fbd8ef3 [FEATURE] Remove Singleparts to Multiparts algorithm
This algorithm is no longer required - it's been replaced by
the 'Promote to multipart' and 'Collect geometries" algorithms.

Tagged as feature to remember to include in release notes
2017-09-05 19:41:28 +10:00
Nyall Dawson
16c4f830b3 [FEATURE] New algorithm for 'collecting' geometries
This is basically the equivalent of the dissolve algorithm, but
instead of a dissolving overlapping geometries the geometries
are instead just collected together into a multipart geometry.

It's designed to slot between the 'promote to multipart' algorithm
(which performs no collection of geometries - it just converts
singleparts to multiparts with 1 part) and the more complex
all-encompassing 'aggregate' algorithm.
2017-09-05 19:41:27 +10:00
Nyall Dawson
3484eb019c [FEATURE] Native 'Promote to Multipart' algorithm
This algorithm is basically the equivalent of the ST_Multi(...)
command - it forces a feature's geometry to become multipart,
regardless of the input geometry type.

If input geometries are singlepart, they will output as
multipart with just 1 part. If they are already multipart,
they will be output unchanged.
2017-09-05 19:40:35 +10:00
Nyall Dawson
5d504dcafb Unify processing "polygon from layer extent" algorithms
Now that the extra features of the "polygon from vector layer extent"
algorithm are covered by the new "Minimum bounding geometry" algorithm,
we can replace the previous two "polygon from vector extent" and
"polygon from raster extent" algorithms by a single "polygon
from layer extent" algorithm.
2017-09-04 08:42:03 +10:00
Nyall Dawson
95eab5127f Remove redundant algorithms 2017-09-04 08:42:03 +10:00
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