Skip to content

Commit 7405326

Browse files
committed
Issue #346 port vector_buffer to ProcessArgs
1 parent b8ecffb commit 7405326

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

openeo_driver/ProcessGraphDeserializer.py

+11-8
Original file line numberDiff line numberDiff line change
@@ -821,15 +821,18 @@ def _check_geometry_path_assumption(path: str, process: str, parameter: str):
821821
.returns(description="Output geometry (GeoJSON object) with the added or subtracted buffer",
822822
schema={"type": "object", "subtype": "geojson"})
823823
)
824-
def vector_buffer(args: Dict, env: EvalEnv) -> dict:
825-
if("geometry" in args):
826-
#old style, not official
827-
geometry = extract_arg(args, 'geometry')
824+
def vector_buffer(args: ProcessArgs, env: EvalEnv) -> dict:
825+
if "geometry" in args and "geometries" not in args:
826+
# TODO drop legacy support for non-standard arg
827+
_log.warning("DEPRECATED: vector_buffer expects `geometries` argument, not `geometry`")
828+
geometry = args.get_required("geometry")
828829
else:
829-
geometry = extract_arg(args, 'geometries')
830-
distance = extract_arg(args, 'distance')
831-
#unit argument is not official spec
832-
unit = args.get("unit","meter")
830+
geometry = args.get_required("geometries")
831+
distance = args.get_required("distance", expected_type=(int, float))
832+
if "unit" in args:
833+
# TODO resolve/eliminate non-official unit argument
834+
_log.warning("vector_buffer: usage of non-standard 'unit' parameter")
835+
unit = args.get_optional("unit", default="meter")
833836
input_crs = output_crs = 'epsg:4326'
834837
buffer_resolution = 3
835838

0 commit comments

Comments
 (0)