Documentation: www.opentopodata.org
Open Topo Data is a REST API server for your elevation data.
curl http://localhost:5000/v1/test-dataset?locations=56,123
{
"results": [{
"elevation": 815.0,
"location": {
"lat": 56.0,
"lng": 123.0
},
"dataset": "test-dataset"
}],
"status": "OK"
}
You can self-host with your own dataset or use the free public API which is configured with a number of open elevation datasets. The API is largely compatible with the Google Maps Elevation API.
Install docker and git then run:
git clone https://github.com/ajnisbet/opentopodata.git
cd opentopodata
make build
make run
This will start an Open Topo Data server on http://localhost:5000/
. Some extra steps might be needed for Windows, M1/Apple Silicon, and Kubernetes.
Open Topo Data supports a wide range of raster file formats and tiling schemes, including most of those used by popular open elevation datasets. See the server docs for more about configuration and adding datasets.
Open Topo Data has a single endpoint: a point query endpoint that returns the elevation at a single point or a series of points.
curl http://localhost:5000/v1/test-dataset?locations=56,123
{
"results": [{
"elevation": 815.0,
"location": {
"lat": 56.0,
"lng": 123.0
},
"dataset": "test-dataset"
}],
"status": "OK"
}
The interpolation algorithm used can be configured as a request parameter, multiple locations can be given in a single request, and locations can also be provided in Google Polyline format.
See the API docs for more about request and response formats.
I'm hosting a free public API at api.opentopodata.org.
curl https://api.opentopodata.org/v1/srtm30m?locations=57.688709,11.976404
{
"results": [
{
"elevation": 55.0,
"location": {
"lat": 57.688709,
"lng": 11.976404
},
"dataset": "srtm30m"
}
],
"status": "OK"
}
The following datasets are available on the public API:
- ASTER
- ETOPO1
- EU-DEM
- Mapzen
- NED 10m
- NZ DEM
- SRTM (30m or 90m)
- EMOD Bathymetry
- GEBCO Bathymetry
- BKG (200m)
Need help getting Open Topo Data running? Send me an email at andrew@opentopodata.org or open an issue!
If you'd like me to host and manage an elevation API for your business, email me at andrew@opentopodata.org or check out my sister project GPXZ.