经纬度和墨卡托互相转换


 1  // 经纬度转墨卡托
 2           public Vector2D lonLat2Mercator(Vector2D lonLat)
 3         {
 4             Vector2D mercator =  new Vector2D();
 5              double x = lonLat.X *  20037508.34 /  180;
 6              double y = Math.Log(Math.Tan(( 90 + lonLat.Y) * Math.PI /  360)) / (Math.PI /  180);
 7             y = y *  20037508.34 /  180;
 8             mercator.X = x;
 9             mercator.Y = y;
10              return mercator;
11         }
12          // 墨卡托转经纬度
13           public Vector2D Mercator2lonLat(Vector2D mercator)
14         {
15             Vector2D lonLat =  new Vector2D();
16              double x = mercator.X /  20037508.34 *  180;
17              double y = mercator.Y /  20037508.34 *  180;
18             y =  180 / Math.PI * ( 2 * Math.Atan(Math.Exp(y * Math.PI /  180)) - Math.PI /  2);
19             lonLat.X = x;
20             lonLat.Y = y;
21              return lonLat;
22         }

 

WGS84经纬度坐标

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM