SRTM is a near-global elevation dataset, with coverage from -60 to 60 degrees latitude.
SRTM comes in multiple resolutions. The highest resolution is 1 arc-second, which corresponds to a resolution of about 30m at the equator. The 3 arc-second (90m) version is also frequently used.
SRTM has coverage from -60 to 60 degrees latitude. The dataset is released in 1 degree tiles. Ocean areas covered by a tile have an elevation of 0m. Open Topo Data will return
null for locations not covered by a tile.
SRTM coverage (green area).
Adding 30m SRTM to Open Topo Data
Make a new folder for the dataset:
Download the files from USGS into
./data/srtm30m. Before downloading you'll need to register an account at earthdata.nasa.gov. Using these credentials for downloading is a little tricky, but luckily Earthdata provide download scripts in multiple different languages, the Python ones worked well for me.
You want the
xxxxxxx.SRTMGL1.hgt.zip files. To make downloading a bit easier, here's a list of the 14,297 URLs: srtm30m_urls.txt.
Rebuild to enable the new dataset at localhost:5000/v1/srtm30m.
.hgt.zip files are extremely slow for random reads. I got a 10x read speedup and a 10% size reduction from converting to a compressed geotiff:
Unsupported file format
If you're leaving the tiles in
.hgt.zip format, be aware that 16 of the files are not able to be read by gdal. There are instructions for fixing those zip files.
Adding 90m SRTM to Open Topo Data
The Open Topo Data public API lets you query SRTM 30m for free:
as well as SRTM 90m:
The public API uses Version 3 of SRTM for both resolutions.