DEM sources & datums
The terrain behind an absolute DSM comes from a public or user-supplied DEM (geo/dem.py).
Source (dem_source) |
Vertical datum | Resolution | Access |
|---|---|---|---|
copernicus30 (default) |
EGM2008 geoid | ~30 m | AWS open data, no login |
srtmgl1 |
EGM96 geoid | ~30 m | OpenTopography API key |
nasadem |
EGM96 geoid | ~30 m | OpenTopography API key |
terrain_tiles |
EGM96 (mixed sources) | varies by zoom | AWS Terrarium tiles |
cartodem |
WGS84 ellipsoid | user file | local GeoTIFF via --dem |
Datum handling
Section titled “Datum handling”flowchart LR A[DEM tile<br/>native datum] --> B[Reproject to<br/>scene CRS] B --> C[PROJ geoid grids<br/>EGM96 ⇄ EGM2008 ⇄ ellipsoid] C --> D[Fit / anchor terrain] D --> E[DSM GeoTIFF<br/>compound CRS]
Heights are converted between EGM96, EGM2008 and the WGS84 ellipsoid with PROJ geoid grids. The difference between the two geoids is small but not zero, and the geoid–ellipsoid separation can reach tens of metres, so mixing datums is a common source of large absolute errors. Reference data uploaded for validation can declare its datum (EGM96, EGM2008 or WGS84), and it is converted before scoring.
Offline use
Section titled “Offline use”Fetched DEM tiles are cached. To prepare a demo machine with no network:
python -m geo.dem --prime scene.tif # fills the DEM cache for the scene's footprint