Example #1
0
        /// <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);
        }
Example #2
0
        /// <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));
        }
Example #3
0
        /// <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));
        }