Skip to content
Self-hosted elevation service with Mapzen terrain data
JavaScript Dockerfile
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci switch to racemap docker repo May 25, 2019
test fixes Aug 5, 2018
.dockerignore circle Aug 7, 2018
Dockerfile Add a GET /status 200 Sep 21, 2018
License circle and readme Aug 7, 2018 Merge branch 'master' of May 25, 2019
hgt.js init Aug 4, 2018
index.js adds OPTIONS method for cors Dec 10, 2018
package.json adds cors (#5) Oct 28, 2018
tileset.js fixes Aug 5, 2018
yarn.lock adds cors (#5) Oct 28, 2018

Elevation service


Self-hosted elevation service that works with the terrain data provided by Mapzen and Amazon AWS S3. You can either pre-download the entire data on your server (ca. 200 GB) or access directly on S3 (for minimal latency from us-east-1 region).

Try it out with our hosted service:

Inspired by:

API usage

The service has a very simple API. Just post your latitude-longitude pairs as a JSON array to the service and receive an array of elevations as response. Maximum post payload is by default 700 KB (which fits roughly 10,000 points).

# > [[lat, lng], ...]
curl -d '[[51.3, 13.4], [51.4, 13.3]]' -XPOST -H 'Content-Type: application/json' http://localhost:3000
# < [ele, ...]

For one-off queries. You can also issue GET requests with latitude and longitude as query parameters.

curl 'http://localhost:3000/?lat=51.3&lng=13.4'
# < ele

Usage with pre-downloaded data

Download data (ca. 200 GB):

aws s3 cp --no-sign-request --recursive s3://elevation-tiles-prod/skadi /path/to/data/folder

Run the docker container:

docker run --rm -v/path/to/data/folder:/app/data -p3000:3000 racemap/elevation-service

Usage with S3-hosted data

Run the docker container:

docker run --rm -eTILE_SET_PATH=s3:// -p3000:3000 racemap/elevation-service



You can’t perform that action at this time.