doogal.co.uk Home

.NET Coordinates

This C# library can be used to convert from one mapping coordinate system to another, for instance converting latitude/longitude to UK OS coordinates. It is based on the JCoord class library and is therefore licensed under the GPL. It also should have all the features available in that library.

Download sourceDownload the source code (requires Visual Studio 2008 for the Windows project and VS 2010 for the Windows Phone project).
Download assemblyDownload the Windows assembly (requires .NET Framework 2.0).
Download assemblyDownload the Windows Phone assembly.

Read documentationRead the documentation.

And here's a simple example of usage

using System;
using DotNetCoords;

namespace TestDotNetCoords
{
  class Program
  {
    static void Main(string[] args)
    {
      // create an OS grid reference object
      OSRef osRef = new OSRef(535598, 182120);
      Console.WriteLine("OS reference is " + osRef.ToString());
      Console.WriteLine("Grid reference is " + osRef.ToSixFigureString());

      LatLng latLng = osRef.ToLatLng();
      Console.WriteLine("Lat/long using OSGB36 datum is " + latLng.ToString());

      latLng.ToWGS84();
      Console.WriteLine("Lat/long using WGS84 datum is " + latLng.ToString());

      MGRSRef mgrsRef = latLng.ToMGRSRef();
      Console.WriteLine("MGRS reference is " + mgrsRef.ToString());

      UTMRef utmRef = mgrsRef.ToUTMRef();
      Console.WriteLine("UTM reference is " + utmRef.ToString());

      Console.ReadLine();
    }
  }
}

Change History

1.0.0.7
Added Windows Phone class library (thanks to Timothy Green for the suggestion)

1.0.0.6
Fixed LatLng constructor which takes degrees. minutes and seconds to handle the correct range.
Fixed OSRef constructor taking a grid reference so it doesn't throw an exception

1.0.0.5
MGRSRef constructor taking a single string now works.
MGRSRef constructor with parameters for each part of the MGRS reference no longer throws an exception
MGRSRef conversion to UTM reference now works for more cases

1.0.0.4 - MGRSRef.ToUTMRef() should now work
1.0.0.3 - Fixed a bug in MGRSRef.ToString()
1.0.0.2 - Added generic versions of Datum and Ellipsoid classes to reduce code size
1.0.0.1 - Initial release



blog comments powered by Disqus