using System; using NETGeographicLib; namespace example_AlbersEqualArea { class Program { static void Main(string[] args) { try { const double lat1 = 40 + 58/60.0, lat2 = 39 + 56/60.0, // standard parallels k1 = 1, // scale lon0 = -77 - 45/60.0; // Central meridian // Set up basic projection AlbersEqualArea albers = new AlbersEqualArea( Constants.WGS84.EquatorialRadius, Constants.WGS84.Flattening, lat1, lat2, k1); { // Sample conversion from geodetic to Albers Equal Area double lat = 39.95, lon = -75.17; // Philadelphia double x, y; albers.Forward(lon0, lat, lon, out x, out y); Console.WriteLine( String.Format("X: {0} Y: {1}", x, y ) ); } { // Sample conversion from Albers Equal Area grid to geodetic double x = 220e3, y = -53e3; double lat, lon; albers.Reverse(lon0, x, y, out lat, out lon); Console.WriteLine( String.Format("Latitude: {0} Longitude: {1}", lat, lon ) ); } } catch (GeographicErr e) { Console.WriteLine( String.Format( "Caught exception: {0}", e.Message ) ); } } } }