Awesome
Open Topo Data
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.
Installation
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.
Usage
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.
Public API
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)
License
Support
Need help getting Open Topo Data running? Send me an email at andrew@opentopodata.org or open an issue!
Paid hosting
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.