A Python workflow for generating multi‑panel raster visualizations from any user‑defined AOI in the United States. The pipeline ingests elevation and surface models, computes height surfaces, applies contrast enhancement, classifies height bins, and produces a standardized 4‑panel figure with cartographic elements and metadata.
|
![]()
|
All processing is driven by config.yaml and executed via run_pipeline.py
- Python
- Rasterio
- NumPy
- Matplotlib
- YAML‑based configuration
- Get a free API key from Open Topography: https://opentopography.org/
- Specify any number of AOIs in config.yaml (US only)
- For each AOI, the pipeline will:
- Plot AOI footprints over satellite imagery
- Retrieve 30‑meter Digital Terrain Models and Digital Surface Models using the OpenTopography REST API
- Clean, align, and process DEM/DSM data
- Compute a height surface (DSM − DTM)
- Bin height values using user-defined class ranges in config.yaml and generate summary statistics
- Build a multi-panel figure illustrating the workflow and outputs
- AOI bounding boxes, height bins, colormaps, and figure parameters are fully configurable in config.yaml
- Time stamped logs are generated for each run
- Open Topography Global DEM API: https://portal.opentopography.org/apidocs/#/Public/getGlobalDem
- Digital Terrain Model: USGS 3DEP 30m - https://www.usgs.gov/3d-elevation-program/what-3dep
- Digital Surface Model: Copernicus DSM 30m - https://www.copernicus.eu/en


