Example #1
0
        public static GeographicCoordinateSystem ToGeographic(Crtm05CoordinateSystem coordinates, IParameters parameters, ICoefficients coefficients)
        {
            var deltaLatitude         = coordinates.Latitude / 0.9999 - parameters.LA;
            var deltaLongitude        = (coordinates.Longitude - parameters.FE) / 0.9999;
            var deltaDegreesLatitude  = DeltaLatitude(deltaLatitude, deltaLongitude, coefficients.B10, coefficients.B20, coefficients.B02, coefficients.B30, coefficients.B12, coefficients.B40, coefficients.B22, coefficients.B04, coefficients.B50, coefficients.B32, coefficients.B14);
            var deltaDegreesLongitude = DeltaLongitude(deltaLatitude, deltaLongitude, coefficients.B01, coefficients.B11, coefficients.B21, coefficients.B03, coefficients.B31, coefficients.B13, coefficients.B41, coefficients.B23, coefficients.B05);
            var latitude  = deltaDegreesLatitude + parameters.LatitudeOrigin;
            var longitude = deltaDegreesLongitude + parameters.LongitudeOrigin;

            return(new GeographicCoordinateSystem(latitude, longitude));
        }
Example #2
0
        public static SouthLambertCoordinateSystem ToSouthLambert(Crtm05CoordinateSystem coordinates, ICoefficients coefficients)
        {
            var crtm98Latitude  = CrtmLatitude(coordinates.Latitude, coordinates.Longitude, coefficients.E0, coefficients.E1, coefficients.F1);
            var crtm98Longitude = CrtmLongitude(coordinates.Latitude, coordinates.Longitude, coefficients.F0, coefficients.E1, coefficients.F1);
            var ctrm90Latitude  = CrtmLatitude(crtm98Latitude, crtm98Longitude, coefficients.M0, coefficients.M1, coefficients.N1);
            var ctrm90Longitude = CrtmLongitude(crtm98Latitude, crtm98Longitude, coefficients.N0, coefficients.M1, coefficients.N1);
            var deltaLatitude   = (ctrm90Latitude - 994727.07) * 0.00001;
            var deltaLongitude  = (ctrm90Longitude - 536853.82) * 0.00001;
            var latitude        = FromDelta(deltaLatitude, deltaLongitude, coefficients.T00, coefficients.T10, coefficients.T01, coefficients.T20, coefficients.T11, 0, coefficients.T30, coefficients.T21, coefficients.T12, 0);
            var longitude       = FromDelta(deltaLatitude, deltaLongitude, coefficients.U00, coefficients.U10, coefficients.U01, coefficients.U20, coefficients.U11, coefficients.U02, 0, coefficients.U21, 0, coefficients.U03);

            return(new SouthLambertCoordinateSystem(latitude, longitude));
        }
Example #3
0
        public static NorthLambertCoordinateSystem ToNorthLambert(Crtm05CoordinateSystem coordinates, ICoefficients coefficients)
        {
            var crtm98Latitude  = CrtmLatitude(coordinates.Latitude, coordinates.Longitude, coefficients.E0, coefficients.E1, coefficients.F1);
            var crtm98Longitude = CrtmLongitude(coordinates.Latitude, coordinates.Longitude, coefficients.F0, coefficients.E1, coefficients.F1);
            var ctrm90Latitude  = CrtmLatitude(crtm98Latitude, crtm98Longitude, coefficients.M0, coefficients.M1, coefficients.N1);
            var ctrm90Longitude = CrtmLongitude(crtm98Latitude, crtm98Longitude, coefficients.N0, coefficients.M1, coefficients.N1);
            var deltaLatitude   = (ctrm90Latitude - 1156874.11) * 0.00001;
            var deltaLongitude  = (ctrm90Longitude - 463736.66) * 0.00001;
            var latitude        = FromDelta(deltaLatitude, deltaLongitude, coefficients.R00, coefficients.R10, coefficients.R01, coefficients.R20, coefficients.R11, coefficients.R02, coefficients.R30, 0, coefficients.R12, 0);
            var longitude       = FromDelta(deltaLatitude, deltaLongitude, coefficients.S00, coefficients.S10, coefficients.S01, coefficients.S20, coefficients.S11, coefficients.S02, 0, coefficients.S21, 0, coefficients.S03);

            return(new NorthLambertCoordinateSystem(latitude, longitude));
        }
Example #4
0
 public static GeographicCoordinateSystem ToGeographic(Crtm05CoordinateSystem coordinates)
 {
     return(ToGeographic(coordinates, new Parameters(), new Coefficients()));
 }
Example #5
0
 public static SouthLambertCoordinateSystem ToSouthLambert(Crtm05CoordinateSystem coordinates)
 {
     return(ToSouthLambert(coordinates, new Coefficients()));
 }