diff --git a/CHANGELOG.md b/CHANGELOG.md index 86946f3f..77e80ca4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `load_ml_model` - `unflatten_dimension` - `save_ml_model` + - `vector_buffer` - `vector_to_random_points` - `vector_to_regular_points` diff --git a/proposals/vector_buffer.json b/proposals/vector_buffer.json new file mode 100644 index 00000000..204a54b7 --- /dev/null +++ b/proposals/vector_buffer.json @@ -0,0 +1,42 @@ +{ + "id": "vector_buffer", + "summary": "Buffer geometries by distance", + "description": "Buffers each input geometry by a given distance, which can either expand (dilate) or a shrink (erode) the geometry. Buffers can be applied to points, lines and polygons, but the results are always polygons. Multi-part types (e.g. `MultiPoint`) are also allowed.", + "categories": [ + "vector" + ], + "experimental": true, + "parameters": [ + { + "name": "geometries", + "description": "Geometries to apply the buffer on. Vector properties are preserved for vector data cubes and all GeoJSON Features.\n\nTo maximize interoperability, a nested `GeometryCollection` should be avoided. Furthermore, a `GeometryCollection` composed of a single type of geometries should be avoided in favour of the corresponding multi-part type (e.g. `MultiPolygon`).", + "schema": [ + { + "type": "object", + "subtype": "geojson" + }, + { + "type": "object", + "subtype": "vector-cube" + } + ] + }, + { + "name": "distance", + "description": "The distance of the buffer in the unit of the spatial reference system. A positive distance expands the geometries and results in outward buffering (dilation) while a negative distance shrinks the geometries and results in inward buffering (erosion).", + "schema": { + "type": "number", + "not": { + "const": 0 + } + } + } + ], + "returns": { + "description": "Returns a vector data cube with the computed new geometries.", + "schema": { + "type": "object", + "subtype": "vector-cube" + } + } +}