Skip to content
Permalink
Browse files

Merge pull request #5111 from nyalldawson/min_bounding_geom_alg

[FEATURE] New processing algorithm "minimum bounding geometry"
  • Loading branch information
alexbruy committed Sep 5, 2017
2 parents d08398f + f01ad63 commit b5bb7df7eb0c1f5b8bb64c52780d4e7fabcb0bb4
Showing with 1,553 additions and 885 deletions.
  1. +8 −19 python/plugins/processing/algs/help/qgis.yaml
  2. +0 −75 python/plugins/processing/algs/qgis/BoundingBox.py
  3. +0 −191 python/plugins/processing/algs/qgis/ConvexHull.py
  4. +14 −61 python/plugins/processing/algs/qgis/ExtentFromLayer.py
  5. +0 −127 python/plugins/processing/algs/qgis/ExtentFromRasterLayer.py
  6. +0 −142 python/plugins/processing/algs/qgis/MinimalEnclosingCircle.py
  7. +278 −0 python/plugins/processing/algs/qgis/MinimumBoundingGeometry.py
  8. +0 −148 python/plugins/processing/algs/qgis/OrientedMinimumBoundingBox.py
  9. +2 −10 python/plugins/processing/algs/qgis/QGISAlgorithmProvider.py
  10. +42 −0 python/plugins/processing/tests/testdata/expected/convex_hull_by_feature.gfs
  11. +71 −0 python/plugins/processing/tests/testdata/expected/convex_hull_by_feature.gml
  12. +5 −10 python/plugins/processing/tests/testdata/expected/enclosing_circles_each.gfs
  13. +20 −26 python/plugins/processing/tests/testdata/expected/enclosing_circles_each.gml
  14. +37 −0 python/plugins/processing/tests/testdata/expected/mbg_circle_field.gfs
  15. +50 −0 python/plugins/processing/tests/testdata/expected/mbg_circle_field.gml
  16. +31 −0 python/plugins/processing/tests/testdata/expected/mbg_circle_nofield.gfs
  17. +22 −0 python/plugins/processing/tests/testdata/expected/mbg_circle_nofield.gml
  18. +47 −0 python/plugins/processing/tests/testdata/expected/mbg_env_field.gfs
  19. +58 −0 python/plugins/processing/tests/testdata/expected/mbg_env_field.gml
  20. BIN python/plugins/processing/tests/testdata/expected/mbg_env_nofield.dbf
  21. +41 −0 python/plugins/processing/tests/testdata/expected/mbg_env_nofield.gfs
  22. +24 −0 python/plugins/processing/tests/testdata/expected/mbg_env_nofield.gml
  23. +1 −0 python/plugins/processing/tests/testdata/expected/mbg_env_nofield.prj
  24. +1 −0 python/plugins/processing/tests/testdata/expected/mbg_env_nofield.qpj
  25. BIN python/plugins/processing/tests/testdata/expected/mbg_env_nofield.shp
  26. BIN python/plugins/processing/tests/testdata/expected/mbg_env_nofield.shx
  27. +37 −0 python/plugins/processing/tests/testdata/expected/mbg_hull_field.gfs
  28. +50 −0 python/plugins/processing/tests/testdata/expected/mbg_hull_field.gml
  29. +31 −0 python/plugins/processing/tests/testdata/expected/mbg_hull_nofield.gfs
  30. +22 −0 python/plugins/processing/tests/testdata/expected/mbg_hull_nofield.gml
  31. +52 −0 python/plugins/processing/tests/testdata/expected/mbg_rect_field.gfs
  32. +62 −0 python/plugins/processing/tests/testdata/expected/mbg_rect_field.gml
  33. +46 −0 python/plugins/processing/tests/testdata/expected/mbg_rect_nofield.gfs
  34. +25 −0 python/plugins/processing/tests/testdata/expected/mbg_rect_nofield.gml
  35. +8 −8 python/plugins/processing/tests/testdata/expected/oriented_bounds.gfs
  36. +30 −30 python/plugins/processing/tests/testdata/expected/oriented_bounds.gml
  37. +162 −38 python/plugins/processing/tests/testdata/qgis_algorithm_tests.yaml
  38. +175 −0 src/core/processing/qgsnativealgorithms.cpp
  39. +101 −0 src/core/processing/qgsnativealgorithms.h
@@ -43,9 +43,6 @@ qgis:basicstatisticsforfields: >
qgis:boundary: >
Returns the closure of the combinatorial boundary of the input geometries (ie the topological boundary of the geometry). For instance, a polygon geometry will have a boundary consisting of the linestrings for each ring in the polygon. Only valid for polygon or line layers.

qgis:boundingboxes: >
This algorithm calculates the bounding box (envelope) of each feature in an input layer.

qgis:buildvirtualvector: >
This algorithm creates a virtual layer that contains a set of vector layer.

@@ -76,11 +73,6 @@ qgis:convertgeometrytype: >

See the "Polygonize" or "Lines to polygons" algorithm for alternative options.

qgis:convexhull: >
This algorithm computes the convex hull of features in a layer.

If a field is specified, it will divide the features into classes based on that field, and compute a separate convex hull for the features in each class.

qgis:countpointsinpolygon: >
This algorithm takes a points layer and a polygon layer and counts the number of points from the first one in each polygons of the second one.

@@ -324,6 +316,13 @@ qgis:mergevectorlayers: >

The layers will all be reprojected to match the coordinate reference system of the first input layer.

qgis:minimumboundinggeometry: >
This algorithm creates geometries which enclose the features from an input layer.

Numerous enclosing geometry types are supported, including bounding boxes (envelopes), oriented rectangles, circles and convex hulls.

Optionally, the features can be grouped by a field. If set, this causes the output layer to contain one feature per grouped value with a minimal geometry covering just the features with matching values.

qgis:multiparttosingleparts: >
This algorithm takes a vector layer with multipart geometries and generates a new one in which all geometries contain a single part. Features with multipart geometries are divided in as many different features as parts the geometry contain, and the same attributes are used for each of them.

@@ -349,11 +348,6 @@ qgis:offsetline: >

The miter limit parameter is only applicable for miter join styles, and controls the maximum distance from the offset curve to use when creating a mitered join.

qgis:orientedminimumboundingbox: >
This algorithm takes a vector layer and generate a new one with the minimum rectangle that covers all the input features.

As an alternative, the output layer can contain not just a single rectangle, but one for each input feature, representing the minimum rectangle that covers each of them.

qgis:minimalenclosingcircle: >
This algorithm takes a vector layer and generate a new one with the minimum enclosing circle that covers all the input features.

@@ -408,12 +402,7 @@ qgis:polygoncentroids: >
NOTE: This algorithm is deprecated and the generic "centroids" algorithm (which works for line and multi geometry layers) should be used instead.

qgis:polygonfromlayerextent: >
This algorithm takes a vector layer and generates a new one with the minimum bounding box (rectangle with N-S orientation) that covers all the input features.

As an alternative, the output layer can contain not just a single bounding box, but one for each input feature, representing the bounding box of each of them.

qgis:polygonfromrasterextent: >
This algorithm takes a raster layer and generates a vector layer containing a feature with the minimum bounding box that covers the raster layer's extent.
This algorithm takes a map layer and generates a new vector layer with the minimum bounding box (rectangle with N-S orientation) that covers the input layer.

qgis:polygonize: >
This algorithm takes a lines layer and creates a polygon layer, with polygons generated from the lines in the input layer.

This file was deleted.

This file was deleted.

0 comments on commit b5bb7df

Please sign in to comment.
You can’t perform that action at this time.