static void Test_Projection_API() { Projection.SetSearchPath(new string[] {System.Environment.CurrentDirectory}); using ( Projection src = new Projection(@"+proj=latlong +datum=NAD27 +nadgrids=conus +nodefs"), dst = new Projection(@"+proj=aea +lat_0=0 +lon_0=-120 +lat_1=34 +lat_2=40.5 +y_0=-4000000 +datum=NAD83 +nodefs")) { Console.WriteLine("src.Definition = {0}", src.Definition); Console.WriteLine("dst.Definition = {0}", dst.Definition); Console.WriteLine("src (.ToString()) = {0}", src); Console.WriteLine("dst (.ToString()) = {0}", dst); Console.WriteLine("latlong.Definition = {0}", dst.GetLatLong().Definition); Console.WriteLine("src.IsLatLong = {0}", src.IsLatLong); Console.WriteLine("dst.IsLatLong = {0}", dst.IsLatLong); Console.WriteLine("src.IsGeoCentric = {0}", src.IsGeoCentric); Console.WriteLine("dst.IsGeoCentric = {0}", dst.IsGeoCentric); Console.WriteLine("src.GetType() = {0}", src.GetType()); double[] x = { -116, -117, -118, -119, -120, -121 }; double[] y = { 34, 35, 36, 37, 38, 39 }; double[] z = { 0, 10, 20, 30, 40, 50 }; Console.WriteLine("Original Coordinates:"); for (int i = 0; i < x.Length; i++) { Console.WriteLine("\t({0}, {1}, {2})", x[i], y[i], z[i]); } Console.WriteLine("Trying Projection.Transform(src, dst, x, y)"); try { Projection.Transform(src, dst, x, y); Console.WriteLine("Transformed Coordinates:"); for (int i = 0; i < x.Length; i++) { Console.WriteLine("\t({0}, {1}, {2})", x[i], y[i], z[i]); } } catch (Exception e) { Console.Error.WriteLine("Exception: {0}", e.Message); return; } Console.WriteLine("Trying Projection.Transform(dst, src, x, y, z)"); try { Projection.Transform(dst, src, x, y, z); Console.WriteLine("Original Coordinates ?"); for (int i = 0; i < x.Length; i++) { Console.WriteLine("\t({0}, {1}, {2})", x[i], y[i], z[i]); } } catch (Exception e) { Console.Error.WriteLine("Exception: {0}", e.Message); return; } Console.WriteLine("Trying src.Transform(dst, x, y, z)"); try { src.Transform(dst, x, y, z); Console.WriteLine("Transformed Coordinates:"); for (int i = 0; i < x.Length; i++) { Console.WriteLine("\t({0}, {1}, {2})", x[i], y[i], z[i]); } } catch (Exception e) { Console.Error.WriteLine("Exception: {0}", e.Message); return; } Console.WriteLine("Trying dst.Transform(src, x, y)"); try { dst.Transform(src, x, y); Console.WriteLine("Original Coordinates ?"); for (int i = 0; i < x.Length; i++) { Console.WriteLine("\t({0}, {1}, {2})", x[i], y[i], z[i]); } } catch (Exception e) { Console.Error.WriteLine("Exception: {0}", e.Message); return; } } }