diff --git a/envs/environment_test.yml b/envs/environment_test.yml index f5e56efd..798c8476 100644 --- a/envs/environment_test.yml +++ b/envs/environment_test.yml @@ -29,6 +29,8 @@ dependencies: # - exceptiongroup=1.1.1 #pytest dependency - iniconfig=2.0.0 #pytest dependency - tqdm=4.64.0 + - rioxarray=0.15.0 #higher versions need python >=3.10 + - pyogrio=0.9.0 - xarray=2024.3.0 diff --git a/hhnk_threedi_tools/core/climate_scenarios/maskerkaart.py b/hhnk_threedi_tools/core/climate_scenarios/maskerkaart.py index 88615cbd..5a751016 100644 --- a/hhnk_threedi_tools/core/climate_scenarios/maskerkaart.py +++ b/hhnk_threedi_tools/core/climate_scenarios/maskerkaart.py @@ -141,7 +141,7 @@ def classify_nodes(node_id_2d, groups, lines1d2d_active, lines1d2d_valid): # that have valid 1D lines node_id_2d_valid_1d = np.intersect1d(node_id_2d_active_1d, lines1d2d_valid.line.ravel()) # create boolean arrays for fast lookup - is2d = np.zeros(node_id_2d.max() + 1, dtype=np.bool) + is2d = np.zeros(node_id_2d.max() + 1, dtype=bool) is2d[node_id_2d] = True has1d_active = np.zeros_like(is2d) has1d_active[node_id_2d_active_1d] = True diff --git a/hhnk_threedi_tools/core/climate_scenarios/peilgebieden.py b/hhnk_threedi_tools/core/climate_scenarios/peilgebieden.py index 33f6a43c..45f4fae9 100644 --- a/hhnk_threedi_tools/core/climate_scenarios/peilgebieden.py +++ b/hhnk_threedi_tools/core/climate_scenarios/peilgebieden.py @@ -19,12 +19,13 @@ def rasterize_peilgebieden( pgb_gdf = input_peilgebieden.load() pgb_gdf.reset_index(drop=False, inplace=True) + labels_nodata = -9999 # Rasterize areas, giving each region a unique id. labels_array = hrt.gdf_to_raster( gdf=pgb_gdf, value_field="index", raster_out="", - nodata=input_raster.nodata, + nodata=labels_nodata, metadata=input_raster.metadata, driver="MEM", ) @@ -41,7 +42,7 @@ def rasterize_peilgebieden( ) # Apply mask to labels. Use DEM. - labels_array[mask_array != 1] = input_raster.nodata + labels_array[mask_array != 1] = labels_nodata hrt.save_raster_array_to_tiff( output_file=output_file.path, @@ -52,7 +53,7 @@ def rasterize_peilgebieden( print(f"{output_file.name} created") - unique_labels = np.unique(labels_array[labels_array != input_raster.nodata]) + unique_labels = np.unique(labels_array[labels_array != labels_nodata]) pgb_masked = pgb_gdf.loc[unique_labels][["index", "peil_id", "code", "name", "geometry"]]