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)); }
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)); }
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)); }
public static GeographicCoordinateSystem ToGeographic(Crtm05CoordinateSystem coordinates) { return(ToGeographic(coordinates, new Parameters(), new Coefficients())); }
public static SouthLambertCoordinateSystem ToSouthLambert(Crtm05CoordinateSystem coordinates) { return(ToSouthLambert(coordinates, new Coefficients())); }