Python library (multi-threaded) for retrieving SRTM elevation map of CGIAR-CSI.
This is a Python library (multi-threaded), named 'srtm', for retrieving SRTM elevation map of CGIAR-CSI. SRTM elevation map is retrieved by using of:
# RETRIEVE SRTM DATA OVER AN AOI WITH RESPECT TO GEOID (ORTHOMETRIC HEIGHT)
import srtm
# Define the AOI
aoi = {'upper_left' : [48.07, -69.06],
'lower_right': [44.60, -63.77]}
# Retrieve, merge, and crop SRTM elevation map over the AOI
srtm.clip(aoi, save_path='/Users/ghasem.abdi/Desktop/nb_srtm.tif')
# RETRIEVE SRTM DATA OF A POINT WITH RESPECT TO GEOID (ORTHOMETRIC HEIGHT)
import rasterio
from srtm import srtm
# Define the point
lat, lon = 45.95, -66.65
# Retrieve SRTM elevation map of the point
srtm.retrieve((srtm.which_tile(lat, lon), '/Users/ghasem.abdi/Desktop/'))
# Open SRTM elevation map of the point
ds = rasterio.open('/Users/ghasem.abdi/Desktop/srtm_23_03.tif')
# Extract orthometric height of the point
orthometric_height = next(ds.sample([(lon, lat)]))[0]
# (OPTIONAL): CONVERT THE ORTHOMETRIC HEIGHT TO ELLIPSOIDAL HEIGHT
import pyproj
# WGS84 with Gravity-related height (EGM96)
geoid = pyproj.CRS('EPSG:4326+5773')
# WGS84 with ellipsoid height as vertical axis
ellipsoid = pyproj.CRS.from_epsg(4979)
# Define a transformation from orthometric to ellipsoidal system
trf = pyproj.Transformer.from_crs(geoid, ellipsoid)
# Estimate the ellipsoidal height
ellipsoidal_height = trf.transform(lat, lon, orthometric_height)[-1]
How to cite?
@misc{Abdi-Ghasem/srtmDownloader,
title={srtmDownloader},
author={Abdi, Ghasem},
publisher={GitHub},
journal={GitHub repository},
howpublished={\url{https://github.com/Abdi-Ghasem/srtmDownloader}},
year={2022}
}