首頁 > Java > java教程 > 主體

如何將墨卡托投影上的緯度/經度轉換為像素?

Susan Sarandon
發布: 2024-11-07 12:11:03
原創
966 人瀏覽過

How to Convert Latitude/Longitude to Pixels on a Mercator Projection?

將緯度/經度點轉換為墨卡托投影上的像素(x,y)

墨卡托投影通常用於導航海圖,具有直線代表平行線和經線。若要將緯度/經度點轉換為墨卡托投影影像上的像素(x,y) 座標,可以套用下列公式:

推導:

墨卡托投影是蘭伯特圓錐等角投影的極限情況,其中赤道是唯一的標準緯線。這會產生所有緯線和經線的直線。

公式:

E = FE + R (λ – λₒ)
N = FN + R ln[tan(π/4 + φ/2)]   
登入後複製

其中:

  • E 和N 是東向和北向坐標
  • FE且FN 是假東向和假北向(球墨卡託中不使用)
  • λ 是經度
  • λo是原點經度
  • φ是緯度

簡化公式:

對於球面墨卡托,東假和北假是未使用,將公式簡化為:

x = (longitude+180)*(mapWidth/360)
y = (mapHeight/2)-(mapWidth*ln(tan((PI/4)+(latitude*PI/180)))/(2*PI))
登入後複製

範例:

給定下列參數:

  • 緯度:41.145556
  • 經度:41.145556
  • 經度:739. 🎜>地圖寬度:200 像素
  • 地圖高度:100 像素

應用公式,我們得到:

x = 60.0083
y = 32.5903
登入後複製

這些像素座標表示墨卡托影像上的點的(x,y) 位置。

以上是如何將墨卡托投影上的緯度/經度轉換為像素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板