Cloud-Native GIS Philosophy¶
The Traditional Geospatial Tax¶
Traditional GIS workflows impose significant overhead on hydraulic model delivery:
- Results must be exported to Shapefile or File GDB
- A GIS analyst must symbolize, project, and publish to a map server
- Users need licensed GIS software to view or query results
- Every analysis requires loading the full dataset into memory
Cloud-Native Formats Break This Pattern¶
Cloud-native geospatial formats were designed for the web and cloud environments from the ground up:
GeoParquet stores geometry alongside attributes in Apache Parquet's columnar format. Reading 10 columns out of 50 reads only those columns from disk — not the full row. Snappy compression achieves 5–10x size reduction versus Shapefiles. The Arrow memory layout enables zero-copy transfer into pandas, DuckDB, and other analytical engines.
PMTiles is a single archive file containing all zoom levels of a tile pyramid. HTTP range requests fetch only the tiles needed for the current viewport. No tile server process needs to run — serve directly from S3, Cloudflare R2, or a CDN. A flood model result that previously required a $500/month tile server can be served for pennies.
DuckDB is an in-process analytical SQL engine that reads GeoParquet files directly with its spatial extension. Complex queries across millions of mesh cells run in seconds on a laptop. No server to provision, no connection pool to manage, no network latency.
Why This Matters for Flood Modeling¶
Flood model results are uniquely suited to the cloud-native stack:
- Large: 2D mesh models have 100k–10M cells. Columnar formats make per-column reads fast.
- Spatial: Every result is geometry. PMTiles serves flood extents at web speed.
- Queryable: "Show all cells where depth > 2 ft" is a trivial SQL filter on GeoParquet.
- Shareable: A single
.pmtilesfile on S3 can be embedded in any web map, shared via URL, or downloaded without special software.
The ras2cng Philosophy¶
ras2cng is the bridge between HEC-RAS simulation outputs and the cloud-native geospatial stack. It handles the parsing complexity of HEC-RAS HDF files (via ras-commander) and produces standards-compliant GeoParquet that works everywhere — QGIS, DuckDB, MapLibre, PostGIS, Observable, R, JavaScript.