1. 程式人生 > >墨卡託投影座標系(Mercator Projection)原理及實現C程式碼

墨卡託投影座標系(Mercator Projection)原理及實現C程式碼

轉:https://www.cnblogs.com/DHUtoBUAA/p/6706642.html   墨卡託投影是一種“等角正切圓柱投影”,荷蘭地圖學家墨卡託(Mercator)在1569年擬定:假設地球被圍在一箇中空的圓柱裡,其赤道與圓柱相接觸,然後再假想地球中心有一盞燈,把球面上的圖形投影到圓柱體上,再把圓柱體展開,這就是一幅標準緯線為零度(即赤道)的“墨卡託投影”繪製出的世界地圖。   墨卡託投影在今天對於航海事業起著極為重要的作用,目前世界各國繪製海洋地圖時仍廣泛使用墨卡託投影,國際水路局(IHB)規定:“除特殊情況外,各國都要用墨卡託投影繪製海圖”。國際水路局發行的《大洋水深總圖》是把全世界分成24幅編輯的,在南北緯72度之間就是使用墨卡託投影繪成的。

1、墨卡託投影性質

  由於墨卡託投影的經緯線離開赤道逐漸以相同倍數伸長,所以又稱為漸長投影,由於它是具有等角性質的圓筒投影,所以也叫做等角圓筒投影。注意:這種投影不適合高緯地區,通常緯度60度以上區域,不用此投影。 這裡寫圖片描述   墨卡託投影有一個特別的特性:所有羅盤等角線,或稱斜航線(就是與所經過的所有經線形成相同角度的航線,也稱恆向航線)在墨卡託投影下都是直線。這使得在航海領域這個投影非常重要。   注意:經緯線的伸長與緯線的正割成比例變化,隨緯度增高極具拉伸,到極點成為無窮大;面積的擴大更為明顯,在60度的地方面積要擴大四倍。如下圖所示,地理上等半徑圓在高緯度面積明顯擴大。 這裡寫圖片描述   墨卡託投影是按等角條件修改透視圓筒投影而得到的投影,等角(也稱為保形) 是指當地圖上任何一點的各方向具有相同的比例,稱為區域性保形,透視圓筒投影如圖1所示。從墨卡託投影圖上可以看出,經線間隔的經度如果相等,則經線是等距平行的直線, 緯線也是平行的直線,而且經緯線是相互垂直的。墨卡託投影對透視圓筒投影改造點:要使圓筒投影稱為等角的性質,必須使由赤道向兩極經線逐漸伸長的倍數與經線上各點相應的緯度擴大的倍數相同。 這裡寫圖片描述

這裡寫圖片描述

2、墨卡託投影方程式

  墨卡託投影以整個世界範圍,赤道作為標準緯線,本初子午線作為中央經線,兩者交點為座標原點,向東向北為正,向西向南為負。南北極在地圖的正下、上方,而東西方向處於地圖的正右、左。由於墨卡託投影在兩極附近是趨於無限值,因此它並沒完整展現了整個世界,地圖上最高緯度是85.05度(通過緯度取值範圍ys反解計算可得到緯度值為85.05112877980659)。為了簡化計算,我們採用球形對映,而不是橢球體形狀。   公式推導具體見文獻: 墨卡託投影與大圓投影的構成及其在省略定航線計算航程與航向方面的應用程光舉。 利用等角條件m=n來討論具體公式,具體分為三步: 1、根據m=n得到地球表面投影到平面上的微積線段的關係式。 2、把地球視為球體: 設地球表面A點經緯座標為(λ,Φ),對應的投影座標為(x,y),基準緯線設定為赤道,則R為地球半徑;墨卡託投影方程式為: 這裡寫圖片描述

3、把地球視為旋轉橢球體 墨卡託投影正反解公式: 這裡寫圖片描述 這裡寫圖片描述 公式推導具體見文獻: 墨卡託投影與大圓投影的構成及其在省略定航線計算航程與航向方面的應用程光舉。 程式實現 https://github.com/wylloong/-GeographyCoordinateTransform/blob/master/Mercator 原始碼 或 http://download.csdn.net/detail/wylloong/9813502 參考文獻 http://download.csdn.net/detail/wylloong/9813502 (兩篇原理文獻及原始碼)