356 Commits

Author SHA1 Message Date
matteo
22d7b6c5d0 fixing indentation? 2018-07-11 09:23:09 +02:00
matteo
5507c3439b try geojson for travis 2018-07-10 16:14:59 +02:00
matteo
d1cedbcf92 [processing][needs-doc][FEATURE] Sample raster values to point 2018-07-10 15:19:56 +02:00
Alexander Bruy
29207a1617 [processing] fix Random extract/select within subset when subset is
smaller than number of requested features (fix #19322)
2018-07-04 18:30:30 +03:00
Nyall Dawson
34b9d39b27 [FEATURE][processing] K Means clustering algorithm
Adds a native k-means clustering algorithm.

Based on a port of PostGIS' ST_ClusterKMeans function, this
new algorithm adds a new cluster ID field to a set of input
features identify the feature's cluster based on the k-means
clustering approach. If non-point geometries are used as input,
the clustering is based off the centroid of the input geometries.
2018-06-29 07:12:48 +10:00
Nyall Dawson
85fba799ea [processing] Don't abort when missing field name specified in
delete columns algorithm

Fixes #19256
2018-06-28 17:10:23 +10:00
Nyall Dawson
5b7eefa6ae [FEATURE][processing] New 'Raster pixels to polygons' algorithm
Converts a raster layer into a vector layer, with a polygon feature
corresponding to each pixel from the raster and a single field
containing the band value from the raster.

Sponsored by SMEC/SJ
2018-06-23 04:42:10 +10:00
Nyall Dawson
0da30699a5 [processing] Add unit tests for reclassify using nulls 2018-06-13 14:54:40 +10:00
Nyall Dawson
7a157837cb Add tests for processing reclassification algorithms 2018-06-13 14:54:40 +10:00
Nyall Dawson
22a98fb680 [processing] Allow choice of field prefix for Join algorithms
Avoids clash of field names resulting in potentially misleading results
2018-06-07 14:24:16 +10:00
Nyall Dawson
8c689b2d36 [processing] Fix create constant raster layer modifies pixel size
Fixes #18446
2018-06-05 16:15:58 +10:00
Nyall Dawson
3b2f690d26 [processing] Also add table output for raster unique values report algorithm
Allows values to be used within models
2018-06-04 21:30:12 +10:00
Nyall Dawson
37b06bcf29 [processing] Fix Rectangles/Ovals/...(variable) chokes on angle values of 0
Change the test to a NULL test instead, as angle values of 0 are valid
2018-05-31 08:55:26 +10:00
Martin Dobias
aa2b1e9834 Add test for single layer union 2018-05-10 06:50:57 -04:00
nirvn
fdaa57a273 [FEATURE][processing] Zonal histogram algorithm 2018-05-03 11:36:16 +07:00
Nyall Dawson
9ffae600f4 [FEATURE] Variable width buffers
Adds geometry methods to create variable width buffers, including
tapered buffers (with a specified start and end diameter) and
variable width buffers from line string m values.

Also adds processing algorithms which expose these methods
to processing.
2018-05-01 06:16:01 +10:00
Martin Dobias
16a6a90dd7
Merge pull request #6859 from wonder-sk/overlay-alg-fixes-3
Port Union algorithm to C++ and fix it
2018-04-26 22:56:22 +02:00
Matthias Kuhn
3e2694a068
Merge pull request #6848 from gacarrillor/line_intersection_with_geometry_collections
[processing] Make line intersection alg able to handle collections
2018-04-26 07:20:55 +02:00
Martin Dobias
21a756ff1d Remove older (incorrect!) test cases for union
The newer test data (overlay1_a and overlay1_b) cover more scenarios
and can be more easily investigated if something goes wrong.
2018-04-25 23:29:04 +02:00
Martin Dobias
8a96573880 Port Union algorithm to c++ using existing intersection+difference algs 2018-04-25 17:22:40 +02:00
Martin Dobias
d2513e0538 Port Difference & Sym.Diff. to C++, cleanups and tests 2018-04-24 20:42:13 +02:00
gacarrillor
49ee8bba13 [processing] Make line intersection alg able to handle intersections of type 'geometry collection' 2018-04-23 23:27:23 -05:00
Nyall Dawson
2850b308ba Add unit test for wedge buffers alg 2018-04-24 10:07:51 +12:00
Nyall Dawson
6c892652ac Followup a463858, fix failing tests 2018-04-20 08:38:15 +10:00
Martin Dobias
721c536185
Merge branch 'master' into overlay-alg-fixes-1 2018-04-18 14:16:50 +02:00
Nyall Dawson
0e0e133c7d [FEATURE][processing] Add sort order option to Add Incremental Field alg
This allows users to optionally set a sort order to use when
assigning values in the Add Incremental Field algorithm.

Previously values were always added using the original feature
order. With this change users can control the order in which
features are assigned values.
2018-04-18 20:50:37 +10:00
Martin Dobias
4f829fde62 Port Intersection algorithm to C++, cleanups and tests
Finally starting a suite of unit tests for overlay algorithms:
- overlay1 - layers that cover various basic overlay situations
- overlay2 - layers where one input has self-intersecting polygons
- overlay3 - layers where intersections return different geometry types
2018-04-17 19:12:58 +02:00
Matthias Kuhn
af18f46c85 Add filter feature processing test 2018-04-09 13:10:48 +02:00
Nyall Dawson
7fa9d4120a [processing] Fix Distance Matrix alg considers distances to
same points

Add more unit tests

Fixes #17350
2018-04-09 12:48:50 +10:00
Nyall Dawson
1942854166 [processing] Port Explode Lines to c++
Aside from the performance benefits, the Python version of this
algorithm occasionally fails on Travis with odd errors. Hopefully
by porting to c++ it will fix these, or at least give useful
debug information in the event of a fail.

Also add support for curved input geometries.
2018-04-06 15:34:52 +10:00
Nyall Dawson
ccb72ebce2 [processing] Fixes for Service Area algorithms
- Output interpolated points when travel cost falls mid-way along
an edge
- Output all intermediate reachable points also
- Make outputting upper/lower bound points optional, and non-default.
Now by default we just output all definitely reachable points and
the interpolated points along edges which correspond to the travel cost.
This allows the output to be used to correctly generate service areas
e.g. by concave/convex polygons and all reachable nodes will be
included in the area.
- Allow algorithm to optionally output a line layer (and make the
point layer optional too, and default to just the line layer output)
containing all reachable line segments (including interpolated
segments of lines when the travel cost sits midway along that
edge). This output is more easily understandably for users.
2018-04-06 12:43:52 +10:00
Nyall Dawson
78a6118ba4 [processing] Fix broken Densify by Interval algorithm, add test
Fix #18640
2018-04-06 11:50:23 +10:00
Nyall Dawson
8aa9a82d28 [FEATURE][processing] Add algorithm to swap x/y coordinate values
This algorithm swaps the X and Y coordinate values in input
geometries. It can be used to repair geometries which have
accidentally had their latitude and longitude values reversed.
2018-04-05 06:35:13 +10:00
Nyall Dawson
732c5260cc [processing] Fix Concave Hull algorithm, add tests
Fixes #18475
2018-03-19 12:00:30 +11:00
Nyall Dawson
7a28181e7f Skip some attributes in import photos test
These absolute paths cannot be tested in processing algorithm tests
2018-03-16 15:08:29 +11:00
Nyall Dawson
fa2c5aebb7 [FEATURE][processing] Import geotagged photos algorithm
This implements a new "import geotagged photos" algorithm
for processing. It allows selection of a folder which it
will scan for jpg files which have been geotagged and
creates a PointZ layer with the result, with attributes
for photo path, altitude, direction and timestamp.

Optionally the scan can be recursive and you can create
an optional table of photos which could not be read
or which were missing geotags.

The algorithm automatically sets the output table to
use an external resource widget to display the linked
photos in the attribute form.

[ALGCHANGE]
2018-03-16 15:08:29 +11:00
Nyall Dawson
251e1d5352 [FEATURE][processing] Add line sinuosity to "Export Geometry Info"
Adds line sinuosity and straight distance to the stats calculated
by "Export Geometry Info"

Fixes #12376
2018-03-12 14:58:04 +11:00
Nyall Dawson
8df954d6b8 [processing] Port Delete Holes algorithm to c++, allow dynamic
min area parameter
2018-03-12 10:41:22 +11:00
Nyall Dawson
5710709c72 Add extra hash to processing hillshade test
At this stage the raster processing tests just test that the
algorithm executes, and generates an output file - there's
no way to validate that the provided hashes are valid
outputs or not
2018-03-08 09:40:07 +10:00
Nyall Dawson
05484dceb6 [FEATURE][processing] Rotate features algorithm
Allows rotation of features by a set angle.

The rotation can occur around a preset point or the individual
feature's centroids.
2018-03-06 19:21:00 +11:00
Alexander Bruy
44895084d9
Merge pull request #6525 from nyalldawson/segmentize
[FEATURE][processing] Add "segmentize" algorithms
2018-03-06 08:27:52 +02:00
nirvn
0d92f96f42 [FEATURE][processing] allow to create points on all parts in centroids alg 2018-03-06 10:44:08 +07:00
nirvn
0630b1c736 [FEATURE][processing] allow to create points on all parts in point on surface alg 2018-03-06 10:44:08 +07:00
Nyall Dawson
4232b93539 [FEATURE][processing] Add "segmentize" algorithms
Adds two new algorithms which expose QgsGeometry's methods
for segmentizing curved geometries.

"Segmentize by maximum distance":
The segmentization is performed by specifying the maximum
allowed offset distance between the original curve and the
segmentized representation.

"Segmentize by maximum angle":
The segmentization is performed by specifying the maximum
allowed radius angle between vertices on the straightened
geometry (e.g the angle of the arc created from the
original arc center to consective output vertices on the
linearized geometry).
2018-03-04 21:28:42 +10:00
Nyall Dawson
871132eae6 [processing] Port point on surface to c++ 2018-03-04 08:52:34 +11:00
Webmaster
2073562fa5 harmonize join type value (0=one-to-many, 1=one-to-one) 2018-03-02 21:01:12 +07:00
nirvn
1542b484be [FEATURE][processing] add discard non matching option to join attribute table alg 2018-03-02 21:01:12 +07:00
Alexander Bruy
df61548c82 [processing] rename algorithm to "Multi-ring buffer (constant distance)" 2018-03-02 10:00:16 +02:00
Alexander Bruy
5daa8fdb67 [processing] add test for multiring buffer algorithm 2018-03-02 10:00:16 +02:00
Mathieu Pellerin
6f47b25037
[FEATURE][processing] one-to-many join support to the join attribute table alg. (#6499) 2018-03-02 11:58:16 +07:00