/// <summary> /// Convert Lambert* point into WGS84 in degree /// </summary> /// <param name="x">x coordinates or latitude</param> /// <param name="y">y coordinates or longitude</param> /// <param name="zone">Lambert type</param> /// <returns>Converted point</returns> /// <remarks>WGS84 refers to greenwich</remarks> public static Point ConvertToWGS84Deg(double x, double y, Enums.LambertZoneType zone) { var pt = new Point(x, y, 0); pt = ConvertToWGS84(pt, zone); pt.ToDegree(); return(pt); }
/// <summary> /// Convert Lambert* point into WGS84 in radian /// </summary> /// <param name="org">Point to convert</param> /// <param name="zone">Lambert type</param> /// <returns>Converted point</returns> /// <remarks>WGS84 refers to greenwich</remarks> public static Point ConvertToWGS84(Point org, Enums.LambertZoneType zone) { var lzone = new LambertZone(zone); if (zone == Enums.LambertZoneType.Lambert93) { return(LambertToGeographic(org, lzone, LambertZone.LON_MERID_IERS, LambertZone.E_WGS84, LambertZone.DEFAULT_EPS)); } var pt1 = LambertToGeographic(org, lzone, LambertZone.LON_MERID_PARIS, LambertZone.E_CLARK_IGN, LambertZone.DEFAULT_EPS); var pt2 = GeographicToCartesian(pt1.X, pt1.Y, pt1.Z, LambertZone.A_CLARK_IGN, LambertZone.E_CLARK_IGN); pt2.Translate(-168, -60, 320); //WGS84 refers to greenwich return(CartesianToGeographic(pt2, LambertZone.LON_MERID_GREENWICH, LambertZone.A_WGS84, LambertZone.E_WGS84, LambertZone.DEFAULT_EPS)); }
/// <summary> /// Convert Lambert* coordinates into WGS84 in radian /// </summary> /// <param name="x">x coordinates or latitude</param> /// <param name="y">y coordinates or longitude</param> /// <param name="zone">Lambert type</param> /// <returns>Converted point</returns> /// <remarks>WGS84 refers to greenwich</remarks> public static Point ConvertToWGS84(double x, double y, Enums.LambertZoneType zone) { var pt = new Point(x, y, 0); return(ConvertToWGS84(pt, zone)); }