355 Commits

Author SHA1 Message Date
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
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
Webmaster
8a063df726 fix travis 2018-03-06 10:44:08 +07: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
nirvn
1542b484be [FEATURE][processing] add discard non matching option to join attribute table alg 2018-03-02 21:01:12 +07: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
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
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
5a818707c7 Update tests 2017-12-03 17:06:20 +10: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
Mathieu Pellerin
793fb6114b
[processing] add vertex id details to extract nodes algorithms 2017-11-16 17:46:47 +07:00
matteo
c321700ada [processing] test for union algorithm 2017-11-15 11:27:30 +11:00
Nyall Dawson
fc6c69bedf Fix calculation of distance to vertex for multi part, multi ring
and curved geometries
2017-11-14 21:52:28 +11:00
Alexander Bruy
4b63975eaf [processing] tests for SAGA provider and related fixes 2017-11-09 18:56:44 +02: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
Alexander Bruy
a6ac876d90 [processing] update test data 2017-10-18 18:41:39 +03: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
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