Skip to content

Commit b8ecffb

Browse files
committed
Issue #346 port mask_polygon to ProcessArgs
1 parent e9f6983 commit b8ecffb

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

openeo_driver/ProcessGraphDeserializer.py

+8-6
Original file line numberDiff line numberDiff line change
@@ -1379,10 +1379,11 @@ def mask(args: ProcessArgs, env: EvalEnv) -> DriverDataCube:
13791379

13801380

13811381
@process
1382-
def mask_polygon(args: dict, env: EvalEnv) -> DriverDataCube:
1383-
mask = extract_arg(args, 'mask')
1384-
replacement = args.get('replacement', None)
1385-
inside = args.get('inside', False)
1382+
def mask_polygon(args: ProcessArgs, env: EvalEnv) -> DriverDataCube:
1383+
cube = args.get_required("data", expected_type=DriverDataCube)
1384+
mask = args.get_required("mask")
1385+
replacement = args.get_optional("replacement", default=None)
1386+
inside = args.get_optional("inside", default=False)
13861387

13871388
# TODO #114: instead of if-elif-else chain: generically "cast" to VectorCube first (e.g. for wide input
13881389
# support: GeoJSON, WKT, ...) and then convert to MultiPolygon?
@@ -1402,8 +1403,9 @@ def mask_polygon(args: dict, env: EvalEnv) -> DriverDataCube:
14021403
if polygon.area == 0:
14031404
reason = "mask {m!s} has an area of {a!r}".format(m=polygon, a=polygon.area)
14041405
raise ProcessParameterInvalidException(parameter='mask', process='mask_polygon', reason=reason)
1405-
image_collection = extract_arg(args, 'data').mask_polygon(mask=polygon, replacement=replacement, inside=inside)
1406-
return image_collection
1406+
1407+
cube = cube.mask_polygon(mask=polygon, replacement=replacement, inside=inside)
1408+
return cube
14071409

14081410

14091411
def _extract_temporal_extent(args: dict, field="extent", process_id="filter_temporal") -> Tuple[str, str]:

0 commit comments

Comments
 (0)