Web墨卡托坐標與WGS84坐標互轉


原文地址:
http://bbs.esrichina-bj.cn/ESRI/thread-78245-1-1.html

在WebGIS的開發中經常用到的地圖投影為Web墨卡托和WGS84,故歌地圖,bingmaps,百度地圖,mapabc,mapbar,以及 ArcGIS online上的大部分地圖為Web墨卡托地圖,ArcGIS online上最開始發布的地圖投影為WGS84。
在開發過程中很多時候會遇到不同坐標系之間互轉的問題,特別是底圖使用Web墨卡托,定位(GPS,wifi等)信號坐標為WGS84坐標的時候,那么通用解決方案就是寫一個坐標參考系的轉換庫,類似於proj4,但一般情況下很少用到那么多的參考系之間的互轉,並且在客戶端實現或者調用proj4都是一件很困難或者麻煩的事情,大多數情況下我們實現Web墨卡托坐標與WGS84坐標互轉就可以了。
下面是使用objective-c實現的Web墨卡托坐標與WGS84坐標互轉程序,當然也可以使用其他語言來實現,使用起來比較簡單和方便。
//經緯度轉墨卡托
-(CGPoint )lonLat2Mercator:(CGPoint ) lonLat
{
    CGPoint  mercator;
    double x = lonLat.x *20037508.34/180;
    double y = log(tan((90+lonLat.y)*M_PI/360))/(M_PI/180);
    y = y *20037508.34/180;
    mercator.x = x;
    mercator.y = y;
    return mercator ;
}
//墨卡托轉經緯度
-(CGPoint )Mercator2lonLat:(CGPoint ) mercator
{
    CGPoint lonLat;
    double x = mercator.x/20037508.34*180;
    double y = mercator.y/20037508.34*180;
    y= 180/M_PI*(2*atan(exp(y*M_PI/180))-M_PI/2);
    lonLat.x = x;
    lonLat.y = y;
    return lonLat;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM