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."); }