Esempio n. 1
0
        public static void Example()
        {
            Console.WriteLine("-- Latitude/ Longitude to Easting/ Northing --");
            LatitudeLongitude latLong = new LatitudeLongitude(51.469886, -3.1636964);

            Console.WriteLine("INPUT");
            Console.WriteLine($"Latitude: {latLong.Latitude}");
            Console.WriteLine($"Longitude: {latLong.Longitude}");

            Cartesian       cartesian    = Convert.ToCartesian(new Wgs84(), latLong);
            Cartesian       bngCartesian = Transform.Etrs89ToOsgb36(cartesian);
            EastingNorthing bngEN        = Convert.ToEastingNorthing(new Airy1830(), new BritishNationalGrid(), bngCartesian);

            Console.WriteLine("OUTPUT");
            Console.WriteLine($"Easting: {bngEN.Easting}");
            Console.WriteLine($"Northing: {bngEN.Northing}");
            Console.WriteLine();
        }
Esempio n. 2
0
        /// <summary>
        /// Performs an ETRS89 to OSGB36/ODN datum transformation. Accuracy is approximately 10 centimeters.
        /// Whilst very accurate this method is much slower than the Helmert transformation.
        /// </summary>
        public static Osgb36 Etrs89ToOsgb(LatitudeLongitude coordinates)
        {
            EastingNorthing enCoordinates = Convert.ToEastingNorthing(new Grs80(), new BritishNationalGrid(), coordinates);

            return(Etrs89ToOsgb(enCoordinates, coordinates.EllipsoidalHeight));
        }