예제 #1
0
        private static Point LambertToGeographic(Point org, LambertZone zone, double lonMeridian, double e, double eps)
        {
            var n  = zone.n();
            var c  = zone.c();
            var xs = zone.xs();
            var ys = zone.ys();

            var x = org.X;
            var y = org.Y;

            var r = Math.Sqrt((x - xs) * (x - xs) + (y - ys) * (y - ys));

            var gamma = Math.Atan((x - xs) / (ys - y));

            var lon = lonMeridian + gamma / n;

            var latIso = -1 / n * Math.Log(Math.Abs(r / c));

            var lat = LatitudeFromLatitudeIso(latIso, e, eps);

            var dest = new Point(lon, lat, 0);

            return(dest);
        }