地理坐標系統(tǒng)和投影坐標系統(tǒng)
地理坐標系統(tǒng)(Geographic coordinate system) :
地理坐標系統(tǒng)是使用經(jīng)緯度來定義球面或橢球面上點的位置的參照系統(tǒng),是一種球面坐標系統(tǒng)。最常見的位置參考坐標系統(tǒng)就是以經(jīng)緯度來量算的球面坐標系統(tǒng)。地理坐標系統(tǒng)就是使用一個三維橢球體來模擬地球球體或橢球體。投影坐標系統(tǒng)
在球面坐標上進行測量非常困難,所以地理數(shù)據(jù)通常都要投影到平面坐標上。投影坐標系統(tǒng)是定義在一個二維平面的坐標系統(tǒng),與地理坐標系統(tǒng)不同的是,投影坐標系統(tǒng)在二維平面上有著恒定的長度、角度和面積,投影坐標系統(tǒng)總是基于地理坐標系統(tǒng),而地理坐標系統(tǒng)又是基于球體或橢球體。
投影
簡單來說,Map Projection是將球體或橢球體表面的經(jīng)緯度轉(zhuǎn)換成一個平面的位置的過程,即將球面坐標轉(zhuǎn)化為平面坐標的過程便稱為投影。
Mercator投影
是一種正軸(投影面的軸(圓錐圓柱的軸線,平面的法線)與地球橢球體的旋轉(zhuǎn)軸重合)、等角(地面上的任意兩條直線的夾角,在經(jīng)過地球投影繪制到圖紙上以后,其夾角保持不變)、圓柱投影。由荷蘭地圖學家墨卡托(G.Mercator)于1569年創(chuàng)立。假設一個與地軸方向一致的圓柱切或割于地球,按等角條件,將經(jīng)緯網(wǎng)投影到圓柱面上,將圓柱面展為平面后,即得到本投影。現(xiàn)在主流的網(wǎng)上地圖信息服務所采用的投影均是Mercator投影,該投影方法也適用于航空和航海領域。
proj.4
proj.4是OSGeo出品的開源GIS工具,專注于地圖的投影表達以及轉(zhuǎn)換,截止到目前官方最新的發(fā)布版本是4.9.3。官方介紹:
proj.4 is a standard Unix filter function which converts geographic longitude and latitude coordinates into cartesian coordinates (and vice versa), and it is a C API for software developers to include coordinate transformation in their own software.
由于我用的是Mac Pro,蘋果用戶如果沒有安裝Proj可以使用homebrew來安裝
brew install proj
proj4官方列出了三個應用,分別是:
- proj
proj工具用來轉(zhuǎn)換地理坐標到投影坐標以及投影坐標到地理坐標,但是有一個前提條件是這兩個坐標系統(tǒng)在同一個基準面之下。 - cs2cs
cs2cs工具可以實現(xiàn)兩個坐標系統(tǒng)之間的互相轉(zhuǎn)換,這兩個坐標系統(tǒng)可以是投影坐標與地理坐標之間的轉(zhuǎn)換,也可以是基準面之間的轉(zhuǎn)換。 - geod
提供對大圓的常用測地計算。
命令行使用proj4
可以使用如下命令來顯示在 proj里的內(nèi)置的有關地圖投影的參數(shù)
proj -l 顯示支持的投影
proj -le 顯示支持的橢球體
proj -ld 顯示支持的基準面
proj -lu 顯示支持的單位
一個典型的命令如下,詳細的參數(shù)說明請參考這里:
proj +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs
命令行測試如下圖:

Xcode工程中使用proj4
目前CocoaPod上proj4最高的版本是4.8.0,當然你也可以集成到iOS項目中去
參考
Map Projection WiKi
WGS84、World Geodetic System
proj.4官方介紹
proj.4通用參數(shù)
地圖投影List
Proj.4庫的編譯及使用
GIS坐標轉(zhuǎn)換庫Proj.4的使用
PROJ4初探
spatialreference