1 using namespace System;
2 using namespace NETGeographicLib;
3 
4 int main(array<System::String ^> ^/*args*/)
5 {
6     try {
7         Geodesic^ geod = gcnew Geodesic(); // WGS84
8         const double lat0 = 48 + 50/60.0, lon0 = 2 + 20/60.0; // Paris
9         Gnomonic^ proj = gcnew Gnomonic(geod);
10         {
11             // Sample forward calculation
12             double lat = 50.9, lon = 1.8; // Calais
13             double x, y;
14             proj->Forward(lat0, lon0, lat, lon, x, y);
15             Console::WriteLine(String::Format("X: {0} Y: {1}", x, y));
16         }
17         {
18             // Sample reverse calculation
19             double x = -38e3, y = 230e3;
20             double lat, lon;
21             proj->Reverse(lat0, lon0, x, y, lat, lon);
22             Console::WriteLine(String::Format("Latitude: {0} Longitude: {1}", lat, lon));
23         }
24     }
25     catch (GeographicErr^ e) {
26         Console::WriteLine(String::Format("Caught exception: {0}", e->Message));
27         return -1;
28     }
29     return 0;
30 }
31