350 Commits

Author SHA1 Message Date
Nyall Dawson
5586352a13 [FEATURE][processing] New raster zonal stats algorithm
Like the vector zonal stats algorithm, but this one works with
the zones defined in another raster.

Iterates over the input rasters in blocks to be nice and
memory efficient.

From the algorithm help:

"This algorithm calculates statistics for a raster layer's
values, categorized by zones defined in another raster layer.

If the reference layer parameter is set to "Input layer",
then zones are determined by sampling the zone raster layer
value at the centroid of each pixel from the source raster
layer.

If the reference layer parameter is set to "Zones layer",
then the input raster layer will be sampled at the centroid
of each pixel from the zones raster layer.

If either the source raster layer or the zone raster layer
value is NODATA for a pixel, that pixel's value will be
skipped and not including in the calculated statistics."
2019-01-04 05:01:16 +10:00
Nyall Dawson
c7cb5a8e3b [processing][SAGA] Fix output type of Zonal Grid Stats alg
and add unit test

Fixes #20815
2018-12-17 10:50:47 +10:00
Nyall Dawson
82c13bdde0 [processing] Fix error when running delete duplicate geometries and
some input features have null geometries

Fixes #20788
2018-12-15 10:44:33 +10:00
Nyall Dawson
b95400806a [FEATURE][processing] Native "split lines by maximum length" algorithm
This algorithm takes an input (multi)line (or curve) layer, and splits
each feature into multiple parts such that no part is longer then
the specified maximum length.

Supports data-defined maximum length property, and edit in place operation.

Credit to @NathanW2 for the inspiration!
2018-12-06 10:01:31 +10:00
Nyall Dawson
4212deabe8 [processing][saga] Add unit test for point distances alg 2018-12-03 18:11:24 +10:00
nirvn
cdda581819 [processing] Add test & adjust handling of negative distance value
for multi ring (constant) algorithm
2018-11-28 22:47:39 +07:00
nirvn
4d5edb2380 [processing] Use MultiPolygon as output wkb type for multi ring buffer (constant) 2018-11-26 17:17:52 +07:00
Luigi Pirelli
530cd5c12c
Merge pull request #8378 from havatv/patch-1
Reintroduce GDAL extract projection and update extractprojection.py to QGIS 3
2018-11-11 11:49:03 +01:00
Nyall Dawson
ba17b130f8 Move forceRHR to QgsGeometry, avoid duplicate code 2018-11-09 19:06:48 +10:00
Nyall Dawson
63c9bcb5d2 Update reference lines 2018-11-09 19:06:48 +10:00
Nyall Dawson
d1e09a2bc7 [FEATURE][processing] New algorithm to force right hand rule for polygons
This algorithm forces polygon geometries to respect the Right-Hand-Rule,
in which the area that is bounded by a polygon is to the right of the
boundary. In particular, the exterior ring is oriented in a clockwise
direction and the interior rings in a counter-clockwise direction.
2018-11-09 19:06:48 +10:00
Etienne Trimaille
6e16651d96 [FEATURE] explode hstore algorithm (#8212) 2018-11-09 13:00:29 +07:00
H Tveite
b9355556c5 Added tests for gdal extractprojection 2018-11-06 10:23:22 +01:00
Nyall Dawson
4dd3e211e2 Unit tests for reomve duplicates by attribute 2018-11-01 21:47:28 +10:00
Nyall Dawson
f65c845f86 [processing][GRASS] Correctly handle input vector layers with |layername= param
Fixes #20277
2018-11-01 18:36:53 +10:00
Matthias Kuhn
2c4abdf70d
Fix test for merging layers to gpkg 2018-10-31 10:27:55 +01:00
Matthias Kuhn
19276e2b03
Add merge vector layer test for gpkg 2018-10-31 10:27:54 +01:00
Nyall Dawson
bef8d6e072 Update expected test results 2018-10-16 16:52:00 +10:00
Luigi Pirelli
8b07b4ed9e
Merge pull request #7626 from rudivs/kneighbour
[feature] Adapted k-neighbour concave hull plugin as QGIS 3 algorithm
2018-09-14 15:32:46 +02:00
Rudi von Staden
fd728c0854 Improve test coverage for k-nearest neighbor concave hull 2018-09-14 11:44:53 +02:00
Rudi von Staden
1a26d9401d Fix failing test for K-nearest concave hull group by field 2018-09-13 20:58:29 +02:00
Martin Dobias
4a0669714b [FEATURE] Snap geometries algorithm
Makes sure that any two vertices of the vector layer are at least at distance given by the threshold value.
The algorithm moves nearby vertices to one location and adds vertices to segments that are passing around other
vertices within the threshold. It does not remove any vertices. Also, it does not modify geometries unless
needed (it does not snap coordinates to a grid).

This algorithm comes handy when doing vector overlay operations such as intersection, union or difference
to prevent possible topological errors caused by numerical errors if coordinates are very close to each other.

After running the algorithm some previously valid geometries may become invalid and therefore it may be useful
to run Fix geometries algorithm afterwards.
2018-09-13 11:46:29 +02:00
Rudi von Staden
4482c39fc8 Add tests for k-neighbour concave hull 2018-09-12 22:38:39 +02:00
Andrea Giudiceandrea
e56da0e58a
Add test for Join by location (equals)
Adds a test for "Join attributes by location" processing algorithm 'equals' predicate
2018-08-30 09:59:26 +02:00
Luigi Pirelli
819a82ad54 added SAGA watershed segmentation execution test 2018-08-24 06:18:51 +10:00
Nyall Dawson
0d200623b1 [FEATURE][processing] Add non-joinable output to Join by Location alg
Allows unjoinable features to be saved to a separate optional layer
2018-08-18 08:03:39 +10:00
Nyall Dawson
773371a143 [FEATURE][processing] Join by field value can export unmatched records,
and reports counts of matched/unmatched features

This gives an explicit warning to users when features were not matched,
and optionally allows them to save non-matching features to a layer.
2018-08-18 08:03:39 +10:00
Nyall Dawson
8365335fd3 [FEATURE][processing] Interpolate point on line algorithm
This algorithm creates a point geometry interpolated at a
set distance along line (or polygon boundary) geometries.
2018-08-15 14:01:59 +10:00
Nyall Dawson
7ef5631d6b [FEATURE][processing] Line substring algorithm
This algorithm returns the portion of a line (or curve) which falls
between the specified start and end distances (measured from the
beginning of the line).

Z and M values are linearly interpolated from existing values.
2018-08-15 14:01:59 +10:00
Nyall Dawson
c50c615ecb Resurrect some processing grass tests 2018-08-09 12:32:27 +10:00
Nyall Dawson
526e590c8d [FEATURE][processing] Add "raster pixels to points" algorithm
Refactor the existing "raster pixels to polygons" algorithm and
create a new "pixels to points" algorithm, which creates a point
feature at the center of every pixel. nodata pixels are skipped.
2018-08-09 12:02:22 +10:00
Håvard Tveite
d2b71c307b [processing] Added isclose function to VoronoyPolygons.py to avoid numerical instability
Fixes #8002 - hopefully, and adds tests
2018-08-09 09:18:54 +10:00
havatv
4b1bc82ca1 Added a test for VoronoiPolygon.py that covers some new cases 2018-08-08 05:54:44 +10:00
Mathieu Pellerin
51b63e6b46
[vector file writer] use field type to save attribute values
(relying on attribute value type isn't reliable under certain
scenarios, including memory layers created through a processing
python algorithm)
2018-08-06 11:07:56 +07:00
H Tveite
70b53fb484 Updated the expected/voronoi_buffer.gml file in testdata to reflect the new (and hopefully correct behaviour 2018-07-31 08:47:28 +10:00
Nyall Dawson
d5ce6dcb1d [FEATURE][processing] native drape features to z/m algorithms
Sets vertex z/m values to values sampled from a raster band.

Values can optionally be scaled using a (data definable) scale value.
2018-07-30 12:11:17 +10:00
Nyall Dawson
76c84f14d7 [FEATURE][processing] "Create parallel lines" algorithm
This algorithm creates copies of line features in a layer, by
creating multiple parallel versions of each feature. Each copy is offset
by a preset distance.
2018-07-27 13:23:50 +10:00
Nyall Dawson
abe4532a2c [feature][processing] "Array of Offset Features" algorithm
This algorithm creates copies of features in a layer, by
creating multiple offset versions of the feature. Each copy is displaced
by a preset amount in the x/y/z/m axis.
2018-07-27 13:23:50 +10:00
Nyall Dawson
28c4a6cf59 [processing][grass] Fix v.net.* output types, add tests
Fixes #19186
2018-07-25 19:50:48 +10:00
Nyall Dawson
b10fa5e979 [processing][grass] Fix v.vect.stats output type, add test 2018-07-25 19:50:48 +10:00
Nyall Dawson
0c56d00c01 [processing][grass] Fix v.what.rast data type, add test 2018-07-25 19:50:48 +10:00
Nyall Dawson
71f880bb93 [processing][grass] Fix v.voronoi output type, add test 2018-07-25 19:50:48 +10:00
Nyall Dawson
a463af32f8 [processing][grass] Fix generation of output for v.rast.stats, add test 2018-07-25 09:23:36 +10:00
Nyall Dawson
97e0db6245 [FEATURE][processing] Filter Vertices by M and Filter Vertices by Z algorithms
Adds two new algorithms, for filtering line/polygon vertices by their
M or Z values. A minimum and maximum M/Z value can be entered, and
if the vertices fall outside these ranges they will be discarded
from the output geometry.

Both min and max filter value can also be data defined, so can
vary per feature.
2018-07-24 03:56:10 +10:00
Nyall Dawson
f685d11b29 [processing] Reverse line direction can work with multi(line/curve) geometries 2018-07-24 03:55:49 +10:00
Matteo Ghetta
14c74d88c8
Merge branch 'master' into processing_sampling 2018-07-16 08:33:59 +02:00
Nyall Dawson
e46b00d40d Tests for dbscan algorithm 2018-07-16 13:00:27 +10:00
matteo
b16b8a7bd3 updated tests data 2018-07-12 10:01:17 +02:00
Nyall Dawson
82364e4295 [processing][saga] Unit tests for snap points to lines/points algs 2018-07-12 11:32:37 +10:00
matteo
22d7b6c5d0 fixing indentation? 2018-07-11 09:23:09 +02:00