SRTM.py is a python parser for the Shuttle Radar Topography Mission elevation data.
See: http://www2.jpl.nasa.gov/srtm/.
You can see SRTM.py in action on Trackprofiler (online GPS track editor and organizer).
import srtm elevation_data = srtm.get_data() print 'CGN Airport elevation (meters):', elevation_data.get_elevation(50.8682, 7.1377) You can add elevations for all points in a GPS track with:
import srtm import gpxpy gpx = gpxpy.parse(open('your-gpx-file.gpx')) elevation_data = srtm.get_data() elevation_data.add_elevations(gpx) But this is raw SRTM data. If you need some approximations, you can try with:
import srtm.gpx import gpxpy gpx = gpxpy.parse(open('your-gpx-file.gpx')) elevation_data = srtm.get_data() elevation_data.add_elevations(gpx, smooth=True) The result on a graph:
In gray is the original elevation (taken with an android smartphone). Blue is raw-srtm-data elevations, in red is the smoothed (approximated) srtm data.
You need gpxpy installed in order for this feature to work.
You can create elevation images with:
import srtm geo_elevation_data = srtm.get_data() image = geo_elevation_data.get_image((500, 500), (45, 46), (13, 14), 300) # the image s a standard PIL object, you can save or show it: image.show() On every elevation requested the library will:
- Check if the SRTM file is stored locally
- If not -- download it from NASA servers and store locally (in ~/.elevations)
- Parse elevations from it
That's why the first run of your application will always take a few seconds.
Istra and Trieste:
Rio de Janeiro:
Miami and florida:
Sidney:
gpxelevations is a utility commandline tool to add/update elevations in a GPS track file:
$ gpxelevations -h usage: gpxelevations [-h] [-o] [-p] [-s] [-c] [-f FILE] [-v] [gpx_files [gpx_files ...]] Adds elevation to GPX files positional arguments: gpx_files GPX files optional arguments: -h, --help show this help message and exit -o, --overwrite Overwrite existing elevations (otherwise will add elevations only where not yet present) -p, --approximate Approximate elevations with neighbour point elevations -s, --smooth Smooth elevations -c, --calculate Calculate elevations (but don't change the GPX file -f FILE, --file FILE Output filename -v, --verbose Verbose output SRTM.py is licensed under the Apache License, Version 2.0




