696 Commits

Author SHA1 Message Date
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
Ari Jolma
08332e73a2 [processing][gdal] color relief alg: add the default color option, i.e., no switches 2018-03-12 10:43:47 +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
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
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
703898e923 Update test masks 2018-02-25 12:47:58 +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
c12884cc6b [processing] remove obsolete script tests 2018-02-06 19:25:48 +02: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
Alexander Bruy
e1a64f6a8f [processing] remove unused files 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
Alexander Bruy
77a6bbbb0a [processing] restore GDAL rasterize algorithm 2018-01-23 12:27:04 +02: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
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
Nyall Dawson
f6e63d7f4c Fixes and cleanups to algorithm dialogs 2017-12-01 18:15:40 +11:00
Etienne Trimaille
7303297d7f add some notes in processing test readme 2017-11-30 15:22:13 +01: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
Alexander Bruy
e0290a9f23
Merge pull request #5745 from alexbruy/processing-cleanup
Processing cleanup
2017-11-29 09:44:55 +02: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
Alexander Bruy
3d4a59bb8b [processing] cleanup files from unused code and remove some files 2017-11-28 12:27:45 +02:00
Nyall Dawson
b786ed03b2 Add a unit test 2017-11-24 16:26:41 +10:00