All Projects → ajnisbet → opentopodata

ajnisbet / opentopodata

Licence: MIT license
Open alternative to the Google Elevation API!

Programming Languages

python
139335 projects - #7 most used programming language
Dockerfile
14818 projects
Makefile
30231 projects
shell
77523 projects

Projects that are alternatives of or similar to opentopodata

go-kml
Package kml provides convenience methods for creating and writing KML documents.
Stars: ✭ 67 (-58.9%)
Mutual labels:  geospatial, gis
georaster-layer-for-leaflet
Display GeoTIFFs and soon other types of raster on your Leaflet Map
Stars: ✭ 168 (+3.07%)
Mutual labels:  geospatial, gis
invest
InVEST: models that map and value the goods and services from nature that sustain and fulfill human life.
Stars: ✭ 71 (-56.44%)
Mutual labels:  geospatial, gis
turf-go
A Go language port of Turf.js
Stars: ✭ 41 (-74.85%)
Mutual labels:  geospatial, gis
geoscript-py
A Python GeoScript Implementation
Stars: ✭ 52 (-68.1%)
Mutual labels:  geospatial, gis
aruco-geobits
geobits: ArUco Ground Control Point Targets and Detection for Aerial Imagery (UAV/MAV).
Stars: ✭ 32 (-80.37%)
Mutual labels:  geospatial, gis
GMT.jl
Generic Mapping Tools Library Wrapper for Julia
Stars: ✭ 148 (-9.2%)
Mutual labels:  geospatial, gis
localtileserver
🌐 dynamic tile server for visualizing rasters in Jupyter with ipyleaflet or folium
Stars: ✭ 190 (+16.56%)
Mutual labels:  geospatial, gis
whiteboxgui
An interactive GUI for WhiteboxTools in a Jupyter-based environment
Stars: ✭ 94 (-42.33%)
Mutual labels:  geospatial, gis
eodag
Earth Observation Data Access Gateway
Stars: ✭ 183 (+12.27%)
Mutual labels:  geospatial, gis
awesome-geospatial-data-download-sites
This is the repo for open source geospatial data download sites.
Stars: ✭ 19 (-88.34%)
Mutual labels:  geospatial, gis
tidyUSDA
An interface to USDA Quick Stats data with mapping capabilities.
Stars: ✭ 36 (-77.91%)
Mutual labels:  geospatial, gis
pyGISS
📡 A lightweight GIS Software in less than 100 lines of code
Stars: ✭ 114 (-30.06%)
Mutual labels:  geospatial, gis
kart
Distributed version-control for geospatial and tabular data
Stars: ✭ 253 (+55.21%)
Mutual labels:  geospatial, gis
topo
A Geometry library for Elixir that calculates spatial relationships between two geometries
Stars: ✭ 125 (-23.31%)
Mutual labels:  geospatial, gis
EarthSim
Tools for working with and visualizing environmental simulations.
Stars: ✭ 61 (-62.58%)
Mutual labels:  geospatial, gis
spatial efd
A spatial aware implementation of elliptical Fourier analysis
Stars: ✭ 19 (-88.34%)
Mutual labels:  geospatial, gis
deegree3
Official deegree repository providing geospatial core libraries, data access and advanced OGC web service implementations
Stars: ✭ 118 (-27.61%)
Mutual labels:  geospatial, gis
leafmap
A Python package for interactive mapping and geospatial analysis with minimal coding in a Jupyter environment
Stars: ✭ 1,299 (+696.93%)
Mutual labels:  geospatial, gis
python-for-gis-progression-path
Progression path for a GIS analyst who wants to become proficient in using Python for GIS: from apprentice to guru
Stars: ✭ 98 (-39.88%)
Mutual labels:  geospatial, gis

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, 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:

License

MIT

Support

Need help getting Open Topo Data running? Send me an email at [email protected] or open an issue!

Paid hosting

If you'd like me to host and manage an elevation API for your business, email me at [email protected] or check out my sister project GPXZ.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].