Skip to content

ninuxorg/python-geojson-elevation

Repository files navigation

python-geojson-elevation

Code Health Requirements Status

GeoJSON proxy to popular elevation web services.

Currently only Google Elevation API is implemented.

New backends or improvements very welcome!

This code was originally written for Nodeshot in order to add an elevation profile feature using the wonderful Leaflet.Elevation javascript plugin.

Later the code was refactored and extracted into this python package.

Install stable version from pypi

Install via pip:

pip install geojson_elevation

Install development version

Install tarball:

pip install https://github.com/ninuxorg/python-geojson-elevation/tarball/master

Alternatively you can install via pip using git:

pip install -e git+git://github.com/ninuxorg/python-geojson-elevation#egg=geojson-elevation

If you want to contribute, install your cloned fork:

git clone [email protected]:<your_fork>/python-geojson-elevation.git
cd python-geojson-elevation
python setup.py develop

Basic Usage Example

from geojson_elevation.google import elevation

# 1 point
elevation('41.889040454306752,12.525333445447737')

# path
elevation('41.889040454306752,12.525333445447737|41.889050454306752,12.525335445447737')

Running tests

Install your forked repo:

git clone git://github.com/<your_fork>/python-geojson-elevation
cd python-geojson-elevation/
python setup.py develop

Install test requirements:

pip install -r requirements-test.txt

Run tests with:

./runtests.py

Alternatively, you can use the nose command (which has a ton of available options):

nosetests
nosetests tests.google_tests  # run only google elevation API tests

See test coverage with:

coverage run --source=geojson_elevation runtests.py && coverage report

Contribute

  1. Join the mailing list
  2. Fork this repo and install it
  3. Follow PEP8, Style Guide for Python Code
  4. Write code
  5. Write tests for your code
  6. Ensure all tests pass
  7. Ensure test coverage is not under 90%
  8. Document your changes
  9. Send pull request