82 Commits

Author SHA1 Message Date
Matteo Ghetta
2abeea1128 Convex Hull processing tests (#3876)
Add two tests for convex hull
2016-12-19 10:51:13 +01:00
Alexander Bruy
f4f86cad63 [processing] use full precision for elevation values
remove unused file
2016-12-19 09:49:49 +02:00
Alexander Bruy
4e59c5a045 [processing] merge two Relief algorithms into one 2016-12-19 09:49:49 +02:00
Alexander Bruy
0d1c9a31bb [processing] implement missed functionality from Raster terrain analysis
plugin
2016-12-19 09:49:49 +02:00
matteo
8e9d49ad8d reduce geometry precision from 7 to 5 digits 2016-12-14 15:07:28 +01:00
matteo
a009cf405e fix error on geometry precision 2016-12-14 15:07:28 +01:00
matteo
5392788901 some Processing test 2016-12-14 15:07:28 +01:00
Alexander Bruy
e63ee670a4 [processing] maintain options order 2016-12-13 12:44:29 +02:00
Alexander Bruy
ab823c4c66 [processing] add tests for network analysis algorithms
Tests dissabled for now, as algorithms require access to QGIS iface.
2016-12-13 10:46:34 +02:00
Nyall Dawson
caa0d500af Fix spelling of orthoganilize 2016-12-12 17:47:12 +10:00
Nyall Dawson
4b6f3a3ee5 [FEATURE][processing] New algorithm to orthagonalize geometries
Adds a new QgsGeometry::orthagonalize method which tries to make
angles in geometries either right angles or straight lines

Also adds a processing algorithm exposing this feature.
2016-12-09 09:41:56 +10:00
Nyall Dawson
c975764c12 Port processing oriented minimum bounding box alg to QgsGeometry 2016-12-07 20:13:29 +10:00
volaya
0a2e1043da Revert "[processing] fixed expected test hashes"
This reverts commit 5c6c18caadb9123c593db085b1c8822f7d74e9f7.
2016-12-06 09:27:21 +01:00
volaya
5c6c18caad [processing] fixed expected test hashes 2016-12-05 14:59:26 +01:00
volaya
8bd0dd5aea [processing] added tests for raster calculator
Conflicts:
	python/plugins/processing/tests/testdata/qgis_algorithm_tests.yaml
2016-12-01 12:53:56 +01:00
Nyall Dawson
b30a1ff65d [FEATURE][processing] New universal 'basic stats for field' algorithm
Replaces the existing 'Basic Stats for Numeric Fields' and
'Basic Stats for String Fields' algorithms and adds support
for date/time/datetime fields.

Having a single unified algorithm allows more flexible models
where a field type may not be known in advance.

Deprecate existing basic stats algorithms
2016-12-01 16:27:20 +10:00
Nyall Dawson
fef15e0165 [processing] Consolidate 'delete holes' algorithms
Copy min area parameter from 'Fill holes' algorithm to 'delete
holes' algorithm.

Also:

- make algorithm maintain z/m values
- make algorithm work with curved geometries
- add unit tests
2016-11-28 13:12:50 +10:00
Nyall Dawson
772b769403 [processing] Hide redundant grid creation algorithms
Condenses the duplicate grid algorithms into single algorithms
(one for line, one for polygon), taking the best bits from both
and adding tests
2016-11-24 13:18:47 +10:00
Germán Carrillo
dccd00dcb1 Adding test to Line Intersection algorithm
Since both input and intersect layers have only one field (fid), the result is the same for both (existing and new) tests. The result now comes with the intersect field, renamed to fid_1 (previously not kept).
2016-11-24 10:42:24 +10:00
Nyall Dawson
1e661e37b9 [FEATURE][processing] New 'drop geometries' algorithm
Simply removes any geometries from an input layer and returns
the features with attributes only
2016-11-24 09:41:11 +10:00
Nyall Dawson
38a0ea0844 Small tweaks to processing split algorithm, add tests 2016-11-24 08:48:37 +10:00
Nyall Dawson
986acab9cc [processing] Tweak test precision 2016-11-24 07:54:40 +10:00
Nyall Dawson
d742478ac9 [processing] Add tests for create points from table alg 2016-11-24 07:52:53 +10:00
Nyall Dawson
3c51a93f6a [processing] Fix very broken delete columns algorithm 2016-11-23 15:21:17 +10:00
Nyall Dawson
5e1a69fc88 [FEATURE][processing] Create attribute index algorithm
Allows creation of an index on an attribute in a layer for faster
attribute based filtering

Support depends on the underlying data provider for the layer
2016-11-18 10:56:02 +10:00
Nyall Dawson
24ffa15ecf [FEATURE][processing] Extract by attribute can extract for null/notnull values
Adds support for filtering where an attribute value is null or not null
2016-11-17 13:09:23 +10:00
Nyall Dawson
d237e27d7e Followup 29d33b4 2016-11-15 10:15:43 +10:00
Alexander Bruy
6e9631ea87 Merge pull request #3701 from alexbruy/processing-ogr-tests
[processsing] tests for GDAL algorithms
2016-11-14 11:05:51 +02:00
Nyall Dawson
d6f09c012e [FEATURE] Add method to calculate pole of inaccessibility for polygons
Implements a method in QgsGeometry and a processing algorithm to
calculate the pole of inaccessibility for a surface, which is the
most distant internal point from the boundary of the surface. This function
uses the 'polylabel' algorithm (Vladimir Agafonkin, 2016), which is an iterative
approach guaranteed to find the true pole of inaccessibility within a specified
tolerance. More precise tolerances require more iterations and will take longer
to calculate.
2016-11-14 15:52:41 +10:00
Alexander Bruy
a8feec8d3c [processing] friendly names for some QGIS tests 2016-11-12 13:31:43 +02:00
Nyall Dawson
8acc286b0f [FEATURE] Snap to layer algorithm accepts a mode parameter
With a new option to prefer to snap to closest point on geometry.
The old behaviour was to prefer to snap to nodes, even if a node
was further from the input geometry than a segment. The new option
allows you to snap geometries to the closest point, regardless
of whether it's a node or segment.
2016-11-07 12:20:59 +10:00
Nyall Dawson
dae0a01761 [FEATURE][processing] Snap geometries algorithm allows snapping
to other layer types, supports point/line layers

Fix #14791, #15313
2016-11-07 12:20:59 +10:00
Nyall Dawson
c3a978b9da [FEATURE][processing] Snap geometries to layer algorithm
Port the Geometry Snapper plugin across to the analysis lib, and
expose to python bindings

Add a new algorithm which performs the snapping to layers
2016-11-07 12:20:59 +10:00
Nyall Dawson
d783c732a5 Fix processing tests 2016-11-07 11:11:30 +10:00
Nyall Dawson
f65e770242 [FEATURE[processing] New algorithm to compute geometry by expression
This algorithm updates existing geometries (or creates new
geometries) for input features by use of a QGIS expression. This
allows complex geometry modifications which can utilise all the
flexibility of the QGIS expression engine to manipulate and create
geometries for output features.
2016-11-02 16:05:46 +10:00
Nyall Dawson
82312e10e4 [FEATURE][processing] New algorithm to extract specific nodes
This algorithm allows you to extract specific nodes from geometries.
Eg you can extract the first or last node in the geometry.

The algorithm accepts a comma separated list of node indices to
extract, eg 0 = first node, 1 = second node, etc. Negative indices
can be used to extract nodes from the end of the geometry. Eg
-1 = last node, -2 = second last node.
2016-10-31 07:56:24 +10:00
Nyall Dawson
8dab2cd4d7 [FEATURE][processing] New algorithm to extend lines
Allows extending linestrings by a set distance at the start
and end of the line
2016-10-31 07:56:24 +10:00
Nyall Dawson
74e64645e4 [FEATURE][processing] New extract by expression algorithm
Filters an input layer by expression
2016-10-29 08:05:26 +10:00
Nyall Dawson
5eb875d63b [processing] Add algorithm to strip null geometries 2016-10-24 11:24:37 +10:00
Alexander Bruy
58f31f1a82 [processing] add tests for interpolation tools 2016-10-19 16:43:05 +03:00
Piotr Pociask
3af23036fd Test for multipoint Delaunay triangulation 2016-10-19 11:15:38 +02:00
Nyall Dawson
a05b610a8b [processing] Use prepared geometries for intersects tests
Wherever possible use prepared geometry engines for intersects
type tests, as it's much faster
2016-10-17 11:18:46 +10:00
Alexander Bruy
a356bac1a5 [procesing] add tests for raster terrain analysis algorithms 2016-10-11 11:57:04 +03:00
Nyall Dawson
d4323addf0 [processing] Fix missing points in polygons menu item (fix #15670)
Also add a unit test
2016-10-11 09:30:46 +10:00
Nyall Dawson
90aebd117d [processing] Add geometry info should add z/m values (fix #14659) 2016-10-11 09:30:41 +10:00
Nyall Dawson
4d60d0cdb5 [FEATURE] Add option to QgsGeometry::smooth to not smooth
segments shorter than a certain threshold or sharp corners
with an angle exceeding a threshold

Expose the angle threshold to processing smooth algorithm

Also:
- optimise QgsGeometry::smooth for new geometry classes
- Fix smooth does not work with geometries containing Z/M
2016-09-03 08:31:33 +10:00
Nyall Dawson
56b77db88c [FEATURE][processing] Add choice of simplification method to simplify
This change allows users to choose which method to use when running
the simplify geometries algorithm, with choices of the existing
distance based (Douglas Peucker) algorithm, area based (Visvalingam)
algorithm and snap-to-grid.

Visvaligam in particular usually results in more cartographically
pleasing simplification over the standard distance based methods.
2016-09-01 08:22:18 +10:00
Nyall Dawson
5d97d03ad5 [processing] Fix simplify alg handling of null goemetry, add tests 2016-09-01 07:50:02 +10:00
Nyall Dawson
9fa4e776db [FEATURE][processing] Extract nodes algorithm now saves node
index, distance along line and angle at node

Also correctly handles null geometries
2016-08-29 11:02:14 +10:00
Nyall Dawson
8db9284cb3 [FEATURE][processing] Optimised points along geometry algorithm
Supports also polygon geometries, handles null geometries,
and records the original line angle along with the distance
for each point.
2016-08-29 11:01:48 +10:00