NASA SRTM altitude data parsing in Python
Provides an API onto SRTM .hgt or .hgt.zip files.
Requires Python 3.8, may work with Python 3.6 & 3.7.
Installation
pip install python-srtm
export SRTM1_DIR=/path/to/srtm1/
export SRTM3_DIR=/path/to/srtm3/
Use
You can access either SRTM1 or SRTM3 data. SRTM 1, for example:
# SRTM1 - 30m resolution
>>> from srtm import Srtm1HeightMapCollection
>>> srtm1_data = Srtm1HeightMapCollection()
>>> srtm1_data.get_altitude(latitude=40.123, longitude=-7.456)
615
>>> Srtm1HeightMapCollection().get_elevation_profile(40.123, -7.456, 40.129, -7.460)
[615, 620, 618, 620, 616, 603, 593, 582, 575, 579, 580, 589, 589, 581, 565, 553, 545, 541, 534, 533, 529, 520, 514]
Or SRTM3:
# SRTM3 - 90m resolution
>>> from srtm import Srtm3HeightMapCollection
>>> srtm3_data = Srtm3HeightMapCollection()
>>> srtm3_data.get_altitude(latitude=40.123, longitude=-7.456)
608
>>> Srtm3HeightMapCollection().get_elevation_profile(40.123, -7.456, 40.129, -7.460)
[626, 616, 585, 593, 577, 548, 528, 514]
Profiling
import cProfile
cProfile.run('function_to_profile()', filename='output.cprof')
brew install qcachegrind
pip install pyprof2calltree
pyprof2calltree -k -i /pythonprofiling/profiler/first_iteration.cprof
Release process
For internal reference:
# Run the tests
pytest
export VERSION="VERSION HERE"
# Version bump
poetry version $VERSION
# Ensure poetry.lock is up to date
poetry lock
# Commit
git add .
git commit -m "Releasing version $VERSION"
# Tagging and branching
git tag "v$VERSION"
git branch "v$VERSION"
git push origin \
refs/tags/"v$VERSION" \
refs/heads/"v$VERSION" \
master
poetry publish --build
Metadata
Release files for python-srtm 0.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| python_srtm-0.6.0.tar.gz | 8.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| python_srtm-0.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.1 kB
Release files / python_srtm-0.6.0.tar.gz
| Download URL | python_srtm-0.6.0.tar.gz |
|---|---|
| Size | 8.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
778a2f172c394295f934bf6ad5228a13de3575ee78ced965a7e05c88f5312b2b
|
|
BLAKE2b-256 checksum How to use checksums |
545715689e6a4eac07edd4187f57d2b467ede3e408f0bbd9ae31c002b2aabece
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.12.6 Darwin/24.1.0
|
Release files / python_srtm-0.6.0-py3-none-any.whl
| Download URL | python_srtm-0.6.0-py3-none-any.whl |
|---|---|
| Size | 9.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
27e584ab4f0ca2103b0d6aff52e3e4cc7b70d9ed2787ff4c0c7025329b1e11ff
|
|
BLAKE2b-256 checksum How to use checksums |
1d938a573174a8c45a634a01d3d1602952ef033ae898b02fdadc6e01fbc95c54
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.12.6 Darwin/24.1.0
|
Security for python-srtm 0.6.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.