A simple library to load SRTM data and return heights in meter for a given lat/lon. Based on Alpinechough.Srtm .
// create a new srtm data instance.
// it accepts a folder to download and cache data into.
var srtmData = new SRTMData(@"/path/to/data/cache");
// get elevations for some locations
int? elevation = srtmData.GetElevation(47.267222, 11.392778);
Console.WriteLine("Elevation of Innsbruck: {0}m", elevation);
elevation = srtmData.GetElevation(-16.5, -68.15);
Console.WriteLine("Elevation of La Paz: {0}m", elevation);
elevation = srtmData.GetElevation(27.702983735525862f, 85.2978515625f);
Console.WriteLine("Elevation of Kathmandu {0}m", elevation);
elevation = srtmData.GetElevation(21.030673628606102f, 105.853271484375f);
Console.WriteLine("Elevation of Ha Noi {0}m", elevation);
We implemented one default source of data, the USGS SRTM. If you want to add an extra source, we're accepting pull requests, you just need to implement something like this.
If you think we need to add another source of data let us know via the issues, if you know more about SRTM or of another source of elevation, also let us know.