215 Commits

Author SHA1 Message Date
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
Alexander Bruy
79c26c384d [processing] fix execute sql test 2017-10-11 17:06:11 +03:00
Alexander Bruy
4ac442f5a3 [processing] fix test for clip vector by mask algorithms 2017-10-11 17:06:11 +03:00
Alexander Bruy
f65de2caa9 [processing] fix clip by extent tests 2017-10-11 17:06:11 +03:00
Alexander Bruy
97238fd687 [processing] fix SQL-based geoprocessing tools and tests 2017-10-11 17:06:11 +03:00
Alexander Bruy
e165d45a0f [processing] fix GDAL raster tests 2017-10-11 17:06:11 +03:00
Alexander Bruy
c4c780fa04 [processing] tests for clipping (raster and vector) algorithms 2017-10-11 17:06:11 +03:00
Alexander Bruy
ff75873eb8 [processing] tests for OGR-based algorithms 2017-10-11 17:06:11 +03:00
Alexander Bruy
fde5c89d97 fix typos and add tests for gdal algorithms 2017-10-11 17:06:11 +03:00
Alexander Bruy
c53ff66caf fix permissions 2017-10-11 17:06:11 +03: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
Matthias Kuhn
191a952e13
[processing] Add new projection candidate to test 2017-09-28 13:22:33 +02:00
Matthias Kuhn
c1d32f6095
[processing] Fix test "Polygon buffer with dissolve" 2017-09-28 13:22:33 +02:00
Matthias Kuhn
ceb3883dfd
[processing] Fix test "Single sided buffer multiline (bevel)" 2017-09-28 13:22:32 +02:00
Nyall Dawson
0943cd5d51 Resurrect commented out zonal stats test 2017-09-26 15:30:14 +10:00
Alexander Bruy
745111dbdb [processing] enable network analysis tests 2017-09-25 11:20:42 +03:00
Nyall Dawson
5a802b595d Add missing test files 2017-09-23 10:36:33 +10:00
Nyall Dawson
ae42bf4b6e Update expected test results (rename field) 2017-09-23 09:27:26 +10:00
Nyall Dawson
21f92a6fb2 Port line intersection and split with lines to c++ 2017-09-22 15:19:32 +10:00
Matthias Kuhn
b1b21ed25f Merge pull request #5143 from m-kuhn/nulldatasetparams
QgsVectorFilewriter skip default null options
2017-09-20 11:44:57 +02:00
Matthias Kuhn
a6dc600784
[processing] Fix single sided buffer multiline (bevel) 2017-09-20 08:51:43 +02:00
Matthias Kuhn
d1c73504a5
Remove leftover files 2017-09-19 17:43:57 +02:00
Matthias Kuhn
f638023b9d
[processing] Fix test "Polygon buffer with dissolve" 2017-09-19 15:35:42 +02:00
Matthias Kuhn
6cde4a626d
[processing] Fix test "Single sided buffer multiline (bevel)" 2017-09-19 15:31:20 +02:00
Matthias Kuhn
9b213b6a73
[processing] Fix test "variable buffer on points with dissolve option" 2017-09-19 15:30:19 +02:00
Matthias Kuhn
973dba0d59
[processing] Update python field calculator test results 2017-09-19 15:01:54 +02:00
Matthias Kuhn
cfabd10b7e
Fix qgis:lineintersections test 2017-09-19 15:01:53 +02:00
Nyall Dawson
4fd2a1a05c Fix unit test data 2017-09-15 12:23:36 +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
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
c750cb2154 Fix existing unit test, add new tests 2017-09-08 09:21:02 +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
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
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
bcc662722b Upgrade Convert Geometries algorithm to maintain Z/M, curves were possible 2017-08-20 18:21:03 +10:00
Nyall Dawson
8da29c06b4 Fix test reference file 2017-08-20 18:21:03 +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