static void USGSTest() { Console.WriteLine("Start USGSTest."); // https://dds.cr.usgs.gov/srtm/version2_1/SRTM3/ var srtmData = new SRTMData(@"srtm-cache", new USGSSource()); int?elevationInnsbruck = srtmData.GetElevation(47.267222, 11.392778); Console.WriteLine("Elevation of Innsbruck: {0}m", elevationInnsbruck); int?elevationLaPaz = srtmData.GetElevation(-16.5, -68.15); Console.WriteLine("Elevation of La Paz: {0}m", elevationLaPaz); int?elevationKathmandu = srtmData.GetElevation(27.702983735525862f, 85.2978515625f); Console.WriteLine("Elevation of Kathmandu {0}m", elevationKathmandu); int?elevationHanoi = srtmData.GetElevation(21.030673628606102f, 105.853271484375f); Console.WriteLine("Elevation of Ha Noi {0}m", elevationHanoi); // tries to get elevation from an empty cell. int?elevationSomeplace1 = srtmData.GetElevation(52.02237f, 2.55853224f); Console.WriteLine("Elevation of nowhere returns {0}", elevationSomeplace1); int?elevationNamibia1 = srtmData.GetElevation(-20, 19.89597); Console.WriteLine("Elevation of namibia1 returns {0}", elevationNamibia1); Console.WriteLine("End USGSTest."); }
protected void UseDefaultValues() { distanceBetweenPoints = defaultDistanceBetweenPoints; ellipsoid = defaultEllipsoid; srtmData = new SRTMData(defaultSrtmCache); effectiveEarthRadius = defaultEffectiveEarthRadius; }
public void Srtm() { string path = "srtmcache"; if (System.IO.Directory.Exists(path)) { System.IO.Directory.Delete(path, true); } System.IO.Directory.CreateDirectory(path); var srtmData = new SRTMData(path); // get elevations for some locations int?elevation = srtmData.GetElevation(47.267222, 11.392778); Console.WriteLine("Elevation of Innsbruck: {0}m", elevation); Assert.AreEqual(584, elevation); elevation = srtmData.GetElevation(-16.5, -68.15); Console.WriteLine("Elevation of La Paz: {0}m", elevation); Assert.AreEqual(3782, elevation); elevation = srtmData.GetElevation(27.702983735525862f, 85.2978515625f); Console.WriteLine("Elevation of Kathmandu {0}m", elevation); Assert.AreEqual(1312, elevation); elevation = srtmData.GetElevation(21.030673628606102f, 105.853271484375f); Console.WriteLine("Elevation of Ha Noi {0}m", elevation); Assert.AreEqual(14, elevation); }
public void TestMethod1() { var srtmData = new SRTMData(@"C:\temp\srtm-cache"); int expected = 136; // -33.47330 151.31728 int?result = srtmData.GetElevation(-33.47330, 151.31728); Assert.AreEqual(expected, result); }
public static double ReadTerrain(double latitude, double longitude) { var srtmData = new SRTMData(@"C:\Users\Ciclicci\Desktop\SRTM_USGS", new USGSSource()); //var credentials = new NetworkCredential("mikeyart", "Prince5498"); //var srtmData = new SRTMData(@"C:\Users\Ciclicci\Desktop\SRTM_NASA", new NASASource(credentials)); int? elevation1 = srtmData.GetElevation(latitude, longitude); double elevation = Convert.ToDouble(elevation1); return(elevation); }
public void DebugHeight() { var srtmData = new SRTMData(@"C:\temp\srtm-cache"); // -38.26192626 144.6653395 int?DebugHeight = srtmData.GetElevation(-38.26192626, 144.6653395); int expected = 136; // -33.47330 151.31728 int?result = srtmData.GetElevation(-33.47330, 151.31728); Assert.AreEqual(expected, result); }
static void Main(string[] args) { var log = new LoggerConfiguration() .WriteTo.ColoredConsole(outputTemplate: "{Timestamp:HH:mm} [{Level}] ({Name:l}) {Message}{NewLine}{Exception}") .CreateLogger(); Log.Logger = log; // https://dds.cr.usgs.gov/srtm/version2_1/SRTM3/ var srtmData = new SRTMData(@"srtm-cache"); int?elevationUlm = srtmData.GetElevation(48.197845, 9.954862); int?elevationInnsbruck = srtmData.GetElevation(47.267222, 11.392778); Console.WriteLine("Elevation of Innsbruck: {0}m", elevationInnsbruck); int?elevationLaPaz = srtmData.GetElevation(-16.5, -68.15); Console.WriteLine("Elevation of La Paz: {0}m", elevationLaPaz); int?elevationKathmandu = srtmData.GetElevation(27.702983735525862f, 85.2978515625f); Console.WriteLine("Elevation of Kathmandu {0}m", elevationLaPaz); int?elevationHanoi = srtmData.GetElevation(21.030673628606102f, 105.853271484375f); Console.WriteLine("Elevation of Ha Noi {0}m", elevationHanoi); // tries to get elevation from an empty cell. int?elevationSomeplace1 = srtmData.GetElevation(52.02237f, 2.55853224f); Console.WriteLine("Elevation of nowhere returns {0}", elevationSomeplace1); int?elevationNamibia1 = srtmData.GetElevation(-20, 19.89597); Console.WriteLine("Elevation of namibia1 returns {0}", elevationNamibia1); int?elevationRostock = srtmData.GetElevation(54.1298258, 12.0630578); Console.WriteLine("Elevation of Rostock returns {0}", elevationRostock); elevationRostock = srtmData.GetElevation(54.1238326, 12.0641476); Console.WriteLine("Elevation of Rostock returns {0}", elevationRostock); Console.WriteLine("Testing finished."); Console.ReadLine(); }
static void Main(string[] args) { // enable logging. OsmSharp.Logging.Logger.LogAction = (o, level, message, parameters) => { Console.WriteLine(string.Format("[{0}] {1} - {2}", o, level, message)); }; Itinero.Logging.Logger.LogAction = (o, level, message, parameters) => { Console.WriteLine(string.Format("[{0}] {1} - {2}", o, level, message)); }; Download.ToFile("http://files.itinero.tech/data/OSM/planet/europe/luxembourg-latest.osm.pbf", "luxembourg-latest.osm.pbf").Wait(); // load some routing data and create a router. var routerDb = new RouterDb(); var router = new Router(routerDb); using (var stream = File.OpenRead("luxembourg-latest.osm.pbf")) { routerDb.LoadOsmData(stream, Vehicle.Car); } // create a new srtm data instance. // it accepts a folder to download and cache data into. var srtmCache = new DirectoryInfo("srtm-cache"); if (!srtmCache.Exists) { srtmCache.Create(); } var srtmData = new SRTMData("srtm-cache"); ElevationHandler.GetElevation = (lat, lon) => { return((short)srtmData.GetElevation(lat, lon)); }; // add elevation. routerDb.AddElevation(); // calculate route. // this should be the result: http://geojson.io/#id=gist:anonymous/c944cb9741f1fd511c8213b2dd83d58d&map=17/49.75454/6.09571 var route = router.Calculate(Vehicle.Car.Fastest(), new Coordinate(49.75635954613685f, 6.095362901687622f), new Coordinate(49.75263039062888f, 6.098860502243042f)); var routeGeoJson = route.ToGeoJson(); }
static void BilinearInterpolationTest() { Console.WriteLine("Start BilinearInterpolationTest."); // https://dds.cr.usgs.gov/srtm/version2_1/SRTM3/ var srtmData = new SRTMData(@"srtm-cache", new USGSSource()); double?elevationInnsbruck = srtmData.GetElevationBilinear(47.267222, 11.392778); Console.WriteLine("Bilinear elevation of Innsbruck: {0}m", elevationInnsbruck); double?elevationLaPaz = srtmData.GetElevationBilinear(-16.5, -68.15); Console.WriteLine("Elevation of La Paz: {0}m", elevationLaPaz); double?elevationKathmandu = srtmData.GetElevationBilinear(27.702983735525862f, 85.2978515625f); Console.WriteLine("Elevation of Kathmandu {0}m", elevationKathmandu); double?elevationHanoi = srtmData.GetElevationBilinear(21.030673628606102f, 105.853271484375f); Console.WriteLine("Elevation of Ha Noi {0}m", elevationHanoi); // tries to get elevation from an empty cell. double?elevationSomeplace1 = srtmData.GetElevationBilinear(52.02237f, 2.55853224f); Console.WriteLine("Elevation of nowhere returns {0}", elevationSomeplace1); double?elevationNamibia1 = srtmData.GetElevationBilinear(-20, 19.89597); Console.WriteLine("Elevation of namibia1 returns {0}", elevationNamibia1); //Testing interpolation across cell edges double?elevationOxted = srtmData.GetElevationBilinear(51.2525, 0.00001); Console.WriteLine("Elevation of Oxted {0}m", elevationOxted); Console.WriteLine("End BilinearInterpolationTest."); }
/// <summary> /// Tests adding elevation data. /// </summary> public static Action GetTestAddElevation(RouterDb routerDb) { // create a new srtm data instance. // it accepts a folder to download and cache data into. var srtmCache = new DirectoryInfo("srtm-cache"); if (!srtmCache.Exists) { srtmCache.Create(); } var srtmData = new SRTMData("srtm-cache"); LocalGeo.Elevation.ElevationHandler.GetElevation = (lat, lon) => { return((short)srtmData.GetElevation(lat, lon)); }; return(() => { routerDb.AddElevation(); }); }
public DiffractionLossCalculator() { geoCalc = new GeodeticCalculator(); try { config = ConfigurationManager.OpenExeConfiguration(this.GetType().Assembly.Location); } catch (Exception ex) { UseDefaultValues(); throw ex; } if (config != null) { KeyValueConfigurationElement element; element = config.AppSettings.Settings["distanceBetweenPoints"]; if (element != null) { try { distanceBetweenPoints = double.Parse(element.Value); } catch { distanceBetweenPoints = defaultDistanceBetweenPoints; } } element = config.AppSettings.Settings["srtmCache"]; if (element != null) { try { srtmData = new SRTMData(element.Value); } catch { srtmData = new SRTMData(defaultSrtmCache); } } element = config.AppSettings.Settings["ellipsoid"]; if (element != null) { try { switch (element.Value) { case "WGS84": ellipsoid = Ellipsoid.WGS84; break; case "GRS80": ellipsoid = Ellipsoid.GRS80; break; case "GRS67": ellipsoid = Ellipsoid.GRS67; break; case "ANS": ellipsoid = Ellipsoid.ANS; break; case "WGS72": ellipsoid = Ellipsoid.WGS72; break; case "Clarke1858": ellipsoid = Ellipsoid.Clarke1858; break; case "Clarke1880": ellipsoid = Ellipsoid.Clarke1880; break; case "Sphere": ellipsoid = Ellipsoid.Sphere; break; default: ellipsoid = defaultEllipsoid; break; } } catch { ellipsoid = defaultEllipsoid; } } element = config.AppSettings.Settings["effectiveEarthRadius"]; if (element != null) { try { effectiveEarthRadius = double.Parse(element.Value); } catch { effectiveEarthRadius = defaultEffectiveEarthRadius; } } } else { UseDefaultValues(); } }
public static int GetHeight(double lat, double lon, string path) { var srtmData = new SRTMData(path); return(srtmData.GetElevation(lat, lon) ?? -1); }