floodresilience.flood_model.process_hydro_dem
This script fetches LiDAR terrain data for a region of interest and creates a hydrologically-conditioned DEM. It provides functions to retrieve information about the hydrologically-conditioned DEM and extract its boundary lines.
Attributes
Functions
| 
 | Retrieve the Hydrologically Conditioned DEM (Hydro DEM) data, along with its spatial extent and resolution, | 
| 
 | Get the boundary lines of the Hydrologically Conditioned DEM. | 
| Check if LiDAR datasets table is initialised. | |
| 
 | Ensure hydrologically-conditioned DEM is processed for the given area and added to the database. | 
| 
 | Web-scrapes OpenTopography metadata to create the datasets table containing links to LiDAR data sources. | 
| 
 | Retrieve LiDAR data for the selected polygon and processes it into a hydrologically-conditioned DEM. | 
Module Contents
- floodresilience.flood_model.process_hydro_dem.log
- floodresilience.flood_model.process_hydro_dem.retrieve_hydro_dem_info(engine: sqlalchemy.engine.Engine, catchment_area: geopandas.GeoDataFrame) Tuple[xarray.Dataset, shapely.LineString, int | float]
- Retrieve the Hydrologically Conditioned DEM (Hydro DEM) data, along with its spatial extent and resolution, for the specified catchment area. - Parameters:
- engine (Engine) – The engine used to connect to the database. 
- catchment_area (gpd.GeoDataFrame) – A GeoDataFrame representing the catchment area. 
 
- Returns:
- A tuple containing the Hydro DEM data as a xarray Dataset, the spatial extent of the Hydro DEM as a LineString, and the resolution of the Hydro DEM as either an integer or a float. 
- Return type:
- Tuple[xr.Dataset, LineString, Union[int, float]] 
 
- floodresilience.flood_model.process_hydro_dem.get_hydro_dem_boundary_lines(engine: sqlalchemy.engine.Engine, catchment_area: geopandas.GeoDataFrame) geopandas.GeoDataFrame
- Get the boundary lines of the Hydrologically Conditioned DEM. - Parameters:
- engine (Engine) – The engine used to connect to the database. 
- catchment_area (gpd.GeoDataFrame) – A GeoDataFrame representing the catchment area. 
 
- Returns:
- A GeoDataFrame containing the boundary lines of the Hydrologically Conditioned DEM. 
- Return type:
- gpd.GeoDataFrame 
 
- floodresilience.flood_model.process_hydro_dem.ensure_lidar_datasets_initialised() None
- Check if LiDAR datasets table is initialised. This table holds URLs to data sources for LiDAR. If it is not initialised, then it initialises it by web-scraping OpenTopography which takes a long time. 
- floodresilience.flood_model.process_hydro_dem.process_dem(selected_polygon_gdf: geopandas.GeoDataFrame) None
- Ensure hydrologically-conditioned DEM is processed for the given area and added to the database. - Parameters:
- selected_polygon_gdf (gpd.GeoDataFrame) – The polygon defining the selected area to process the DEM for. 
 
- floodresilience.flood_model.process_hydro_dem.refresh_lidar_datasets() None
- Web-scrapes OpenTopography metadata to create the datasets table containing links to LiDAR data sources. Takes a long time to run but needs to be run periodically so that the datasets are up to date. 
- floodresilience.flood_model.process_hydro_dem.main(selected_polygon_gdf: geopandas.GeoDataFrame, log_level: src.digitaltwin.utils.LogLevel = LogLevel.DEBUG) None
- Retrieve LiDAR data for the selected polygon and processes it into a hydrologically-conditioned DEM. - Parameters:
- selected_polygon_gdf (gpd.GeoDataFrame) – A GeoDataFrame representing the selected polygon, i.e., the catchment area. 
- log_level (LogLevel = LogLevel.DEBUG) – The log level to set for the root logger. Defaults to LogLevel.DEBUG. The available logging levels and their corresponding numeric values are: - LogLevel.CRITICAL (50) - LogLevel.ERROR (40) - LogLevel.WARNING (30) - LogLevel.INFO (20) - LogLevel.DEBUG (10) - LogLevel.NOTSET (0)