读书人

中纬度和墨卡托互相转换

发布时间: 2012-07-20 10:38:30 作者: rapoo

经纬度和墨卡托互相转换
不要问我经墨卡托体系是神马,google上有;另外,这个是C#代码,其他语言请自行翻译~阿门

//经纬度转墨卡托        public MapPoint lonLat2Mercator(MapPoint lonLat)        {            MapPoint mercator = new MapPoint();            double x = lonLat.X * 20037508.34 / 180;            double y = Math.Log(Math.Tan((90 + lonLat.Y) * Math.PI / 360)) / (Math.PI / 180);            y = y * 20037508.34 / 180;            mercator.X = x;            mercator.Y = y;            return mercator;        }        //墨卡托转经纬度        public MapPoint Mercator2lonLat(MapPoint mercator)        {            MapPoint lonLat = new MapPoint();            double x = mercator.X / 20037508.34 * 180;            double y = mercator.Y / 20037508.34 * 180;            y = 180 / Math.PI * (2 * Math.Atan(Math.Exp(y * Math.PI / 180)) - Math.PI / 2);            lonLat.X = x;            lonLat.Y = y;            return lonLat;        }

读书人网 >行业软件

热点推荐