distinguish dataset name and dataset settings

This commit is contained in:
Fabian Neumann 2024-01-03 15:22:13 +01:00
parent 045eeba4cf
commit 94f4383e02

View File

@ -236,23 +236,28 @@ if __name__ == "__main__":
if params["natura"]: if params["natura"]:
excluder.add_raster(snakemake.input.natura, nodata=0, allow_no_overlap=True) excluder.add_raster(snakemake.input.natura, nodata=0, allow_no_overlap=True)
for landuse in ["corine", "luisa"]: for dataset in ["corine", "luisa"]:
kwargs = {"nodata": 0} if landuse == "luisa" else {} kwargs = {"nodata": 0} if dataset == "luisa" else {}
landuse = params.get(landuse, {}) if dataset == "luisa" and res > 50:
if not landuse: logger.info(
continue "LUISA data is available at 50m resolution, "
if isinstance(landuse, list): f"but coarser {res}m resolution is used."
landuse = {"grid_codes": landuse}
if "grid_codes" in landuse:
codes = landuse["grid_codes"]
excluder.add_raster(
snakemake.input[landuse], codes=codes, invert=True, crs=3035, **kwargs
) )
if landuse.get("distance", 0.0) > 0.0: settings = params.get(dataset, {})
codes = landuse["distance_grid_codes"] if not settings:
buffer = landuse["distance"] continue
if isinstance(settings, list):
settings = {"grid_codes": settings}
if "grid_codes" in settings:
codes = settings["grid_codes"]
excluder.add_raster( excluder.add_raster(
snakemake.input[landuse], codes=codes, buffer=buffer, crs=3035, **kwargs snakemake.input[dataset], codes=codes, invert=True, crs=3035, **kwargs
)
if settings.get("distance", 0.0) > 0.0:
codes = settings["distance_grid_codes"]
buffer = settings["distance"]
excluder.add_raster(
snakemake.input[dataset], codes=codes, buffer=buffer, crs=3035, **kwargs
) )
if params.get("ship_threshold"): if params.get("ship_threshold"):