Skip to content
Self-hosted elevation service with Mapzen terrain data
Branch: master
Clone or download
mtmail and normanrz Update (#9)
Add `--no-sign-request` to the `cp` command. Without the download seem to fail.
Latest commit 9fc5043 Jan 14, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci adds GET handling Aug 15, 2018
test fixes Aug 5, 2018
Dockerfile Add a GET /status 200 Sep 21, 2018
License circle and readme Aug 7, 2018 Update (#9) Jan 14, 2019
index.js adds OPTIONS method for cors Dec 10, 2018
package.json adds cors (#5) Oct 28, 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 normanrz/elevation-service

Usage with S3-hosted data

Run the docker container:

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



You can’t perform that action at this time.