Wrapper around rasterio to query points on a Digital Elevation Model
Project description
demquery
Wrapper around rasterio to query points on a Digital Elevation Model.
Features
- Use multiple raster files without having to merge them into a new file
- Query many points at once
- Optional 2D interpolation (linear, cubic, or quintic)
- Reasonably performant by reading the minimal data required from raster
Install
I recommend first installing dependencies with Conda, then installing demquery itself with pip.
conda install gdal rasterio numpy scipy -c conda-forge
pip install demquery
CLI Script
> demquery --help
Usage: demquery [OPTIONS] FEATURES...
Assign elevations to GeoJSON
Options:
-d, --dem PATH Paths to DEM files. [required]
-g, --dem-glob TEXT Glob expression for DEM paths if folder is provided.
-b, --band INTEGER Band of rasters to use [default: 1]
-i, --interp-kind TEXT either None, "linear", "cubic", or "quintic". None
will do no interpolation and choose the value in the
DEM closest to the provided point. linear creates a
3x3 grid and runs linear interpolation; cubic
creates a 5x5 grid and runs cubic interpolation;
quintic creates a 7x7 grid and runs quintic
interpolation.
--help Show this message and exit.
echo \
'{"type":"Feature","properties":{"name": "Glacier Peak"},"geometry":{"type":"Point","coordinates":[-121.2436843,48.0163834]}}' \
| demquery -d /path/to/dem/files
Outputs:
{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [-121.243684, 48.016383, 1431.5755615234375]}, "properties": {"name": "Glacier Peak"}}]}
Documentation
from demquery import Query
dem_paths = ['dem1.tif', 'dem2.tif']
query = Query(dem_paths)
# Points must be in longitude, latitude order!
# These points are in Manhattan, not Antarctica
points = [(-73.985564, 40.757965), (-73.968520, 40.778912)]
elevations = query.query_points(points, interp_kind='linear')
Data Download
For a great visual tool to download worldwide SRTM data, check out these sites:
- 30m resolution: http://dwtkns.com/srtm30m/
- 90m resolution: http://dwtkns.com/srtm/
Releasing
To upload a new release to PyPI
python setup.py sdist
twine upload dist/demquery-0.3.0.tar.gz
Changelog
[0.3.1] - 2020-08-19
- No changes: try to get conda-forge package to work correctly
[0.3.0] - 2020-01-28
- Add CLI script
[0.2.1] - 2019-12-04
- Include requirements.txt and requirements_dev.txt in manifest bundle
[0.2.0] - 2019-12-02
- Fix virtual raster issues.
[0.1.0] - 2019-11-27
- Initial release on PyPI
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
demquery-0.3.1.tar.gz
(11.4 kB
view hashes)