320 Commits

Author SHA1 Message Date
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
Nyall Dawson
cc10bbd950 [processing] Allow empty expressions in refactor fields alg
Fixes #15640
2018-02-26 10:20:19 +11:00
Nyall Dawson
1bada065ed [FEATURE][processing] Add 'Project points (cartesian)' algorithm
Projects points from an input point layer by a specified distance
and bearing (azimuth). Supports dynamic parameters for the distance
and bearing so that they can use field values or expressions.
2018-02-24 14:23:10 +11:00
Alexander Bruy
23a5dd3197 [processing] fix file permissions 2018-02-06 19:25:48 +02:00
Alexander Bruy
15a185dab0 [processing] turn keep n biggest parts script into normal algorithm 2018-02-05 08:50:44 +02:00
Alexander Bruy
5ad3af592f [processing] remove tests for old scripts 2018-02-05 08:50:37 +02:00
Mathieu Pellerin
e0c12d519f
[processing] nodes -> vertices algorithm renaming
- "Extract nodes" renamed to "Extract vertices"
- "Extract specific nodes" renamed to "Extract specific vertices"
2018-01-29 19:16:43 +07:00
Mathieu Pellerin
aaf97933c2
[needs-docs][processing] merge grid algorithms and add point grid type 2018-01-23 13:54:53 +07:00
Nyall Dawson
b8e1f7707c [processing] Port 'Add unique value index field' to c++
And implement some fixes/improvements (refs discussion on the dev mailing list):
- allow user to specify created field name
- allow optional creation of a summary table showing new class value vs original
value
2018-01-23 12:18:55 +11:00
Nyall Dawson
95db682acf [processing][needs-docs] Drop Fixed Distance Buffer algorithm
Since it's functionality is a subset of the native c++ "buffer"
algorithm, it's no longer required.
2018-01-16 21:21:38 +10:00
Nyall Dawson
5b1da988ba [processing] List unique values improvements
- allow running on non-spatial tables
- allow choice of more than one field
2017-12-15 15:46:50 +11:00
Nyall Dawson
ca75e8c0a5 Remove obsolete python alg, add unit tests 2017-12-07 06:28:54 +11:00
Nyall Dawson
e12621ce2a Add API method to remove duplicate nodes from geometries
Removes duplicate nodes from the geometry, wherever removing the
nodes does not result in a degenerate geometry.

By default, z values are not considered when detecting duplicate
nodes. E.g. two nodes with the same x and y coordinate but
different z values will still be considered duplicate and one
will be removed. If useZValues is true, then the z values are
also tested and nodes with the same x and y but different z
will be maintained.

Note that duplicate nodes are not tested between different
parts of a multipart geometry. E.g. a multipoint geometry
with overlapping points will not be changed by this method.

The function will return true if nodes were removed, or false
if no duplicate nodes were found.

Includes unit tests and a processing algorithm which exposes
this functionality.
2017-12-03 14:58:21 +10:00
Nyall Dawson
6b23e1f299
Merge pull request #5600 from Gustry/sortby
add order by expression algorithm
2017-12-02 11:43:48 +11:00
Nyall Dawson
8026008ae7 [processing] group option for autoincrement field algorithm 2017-12-01 20:42:38 +11:00
Etienne Trimaille
1b8faa2a79 add sort by expression algorithm 2017-11-30 15:22:13 +01:00
Matteo Ghetta
a10e753820 processing test for difference algorithm (#5764) 2017-11-29 15:25:30 +01:00
Nyall Dawson
62dbf4ce26 GML is too fragile, but shapefiles, you've never let me down... 2017-11-29 15:50:58 +11:00
Nyall Dawson
f8bad4977d [processing] Make split with lines output single part features
instead of keeping parts collected into a single multipart feature
2017-11-29 15:50:58 +11:00
Nyall Dawson
b786ed03b2 Add a unit test 2017-11-24 16:26:41 +10:00
Nyall Dawson
ff900c0b05 [processing] Make translate algorithm native
And add option to translate z/m values
2017-11-24 16:18:13 +10:00
matteo
c321700ada [processing] test for union algorithm 2017-11-15 11:27:30 +11:00
nirvn
b7d05829ce try to make travis happy 2017-11-13 17:36:36 +07:00
Nyall Dawson
fe78611cf5 Simplify interpolation API
Don't require both pixel size and row/col count in constructor,
since we can calculate the pixel size from the extent and row/column
count.
2017-11-03 14:00:07 +10:00
Nyall Dawson
bee2a1a86e Update Python code 2017-11-03 10:33:04 +10:00
Nyall Dawson
2bdc323d72 More test tolerance 2017-10-31 16:01:33 +10:00
Nyall Dawson
284c4d35cd Fix tests 2017-10-31 16:01:33 +10:00
Nyall Dawson
8f22f5eb3b [processing] Misc fixes for network analysis tools
Also maintain attributes in service area from layer alg, add test

Fixes #17325
2017-10-31 16:01:32 +10:00
Nyall Dawson
5ffd7214ee [processing] Shortest path handling for multipoint layers
Fixes shortest path algorithms fail for multipoint source layers
or layers with null geometries

Refs #17325
2017-10-31 16:00:18 +10:00
Nyall Dawson
4372ac2658 [FEATURE][processing] Native c++ snap to grid algorithm
With support for snapping Z/M values, keeping curves
2017-10-27 15:16:15 +10:00
Alexander Bruy
04a8418a32 add tests for distance matrix algorithm 2017-10-24 15:27:23 +03:00
lbartoletti
977ce426db [FEATURE][processing]Transect processing
Adds a C++ version of the "ststion lines" plugin as a
new processing algorithm for creating transect lines.
2017-10-24 05:42:03 +11:00
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