Web Mercator 公開的小祕密

網上已經有好多作者都不吝筆墨,寫了好多有關 Web Mercator這個座標系的前世今生。多蒐羅多攝入,我們會得到很多有用的信息。今天討論到 3758,3857,102100,900913…… 這些ID又一石激起千層浪,看來整理總結下還是有點必要。


Web Mercator 如何定義?


我們知道,地理數據的座標系一般有兩大類,一是地理座標系(GCS),是經緯度單位的橢球座標系;二是投影座標系(PCS),是平面直角座標系。

投影座標系(PCS)的定義一般會包含兩方面的定義信息:
(1)基準面/Datum — 與GCS相應
(2)投影方法/Projection Method


1

Web Mercator 是一個投影座標系統,其基準面是 WGS 1984 。


那麼,第一個問題,WGS 1984 是什麼?

“ 世界大地座標系是美國國防部製圖局(Defence Mapping Agency, DMA)爲統一世界大地座標系統,實現全球測量標準的一致性,定義用於製圖、大地、導航的座標基準。它包括標準地球座標框架、用於處理原始觀測數據的標準橢球參考面(即基準和參考橢球)和定義標準海平面的重力等勢面(大地水準面)。……”(摘自《大地座標系統及其應用》)

在上面一段中可以知道,定義一個座標系絕對是一個複雜浩大的數學工程。 我們經常聽說的 WGS 1984 (或 WGS 84)就是其中一個世界大地座標系統。我們經常使用的 GPS 的座標參考系統也是它。

WGS 1984 的具體定義參數:

GCS_WGS_1984
WKID: 4326 Authority: EPSG

Angular Unit: Degree (0.0174532925199433)
Prime Meridian: Greenwich (0.0)
Datum: D_WGS_1984
Spheroid: WGS_1984
Semimajor Axis: 6378137.0
Semiminor Axis: 6356752.314245179
Inverse Flattening: 298.257223563

通過參數描述,我們知道 WGS 1984 是一個長半軸(a)爲6378137,短半軸(b)爲6356752.314245179 的橢球體,扁率(f)爲298.257223563,f=(a-b)/a 。

這裏寫圖片描述


2

Web Mercator 座標系使用的投影方法不是嚴格意義的墨卡託投影,而是一個被 EPSG(European Petroleum Survey Group)稱爲僞墨卡託的投影方法,這個僞墨卡託投影方法的大名是 Popular Visualization Pseudo Mercator,PVPM。 看起來就覺得這個投影方法不是很嚴謹的樣子,大衆化的?受歡迎的?可視化僞墨卡託投影……

因爲這個座標系統是 Google Map 最先使用的,或者更確切地說,是Google 最先發明的。在投影過程中,將表示地球的參考橢球體近似的作爲正球體處理(正球體半徑 R = 橢球體半長軸 a)。這也是爲什麼在 ArcGIS 中我們經常看到這個座標系叫 WGS 1984 Web Mercator (Auxiliary Sphere)。Auxiliary Sphere 就是在告知你,這個座標在投影過程中,將橢球體近似爲正球體做投影變換,雖然基準面是WGS 1984 橢球面。

這裏寫圖片描述

後來,Web Mercator 在 Web 地圖領域被廣泛使用,這個座標系就名聲大噪。儘管這個座標系由於精度問題一度不被GIS專業人士接受,但最終 EPSG 還是給了 WKID:3857。

下面放一張在 EPSG 官網上找到的3857座標的具體參數介紹,供參考:

這裏寫圖片描述



Web Mercator 的陰暗面


Web Mercator 無論是來自Google程序員的謬誤,還是爲了簡化換算的有意爲之,現在它都已經名正言順的成爲了 Web 底圖的最受歡迎平面座標系。

問題又來了,爲什麼這麼受歡迎的座標系還會受到GIS大咖的詬病?

拒絕給這個座標系分配 座標系ID 的原話是這樣的:

The projected coordinate reference system originally lacked an official spatial reference identifier (SRID), and the Geodesy subcommittee of the OGP’s Geomatics committee (also known as EPSG) refused to provide it with one, declaring “We have reviewed the coordinate reference system used by Microsoft, Google, etc. and believe that it is technically flawed. We will not devalue the EPSG dataset by including such inappropriate geodesy and cartography.”

這不是EPSG 冷酷無情無理取鬧,從技術角度看是有原因的。簡而言之,主要原因在於基準面被篡改後,本來是等角投影的Mercator座標變換算法,不再等角了,而是近似等角,也就是出現角度變形。這種變形勢必影響了座標的精度,如下是某位GIS專家給出的概要說明(閃亮的最後一條):

這裏寫圖片描述

如果你想進一步關心細節,想知道這位專家對 Web Mercator 的 dark side 的深入見解,點這裏看看。



不再混亂的 ID


也是由於GIS專業人士的質疑,這個座標系的ID經歷了曲折的過程,好多做Web開發的朋友都感到困惑。簡單地順一下:

OpenLayers:900913 由於得不到官方的認證ID,Google爲Web Mercator 任性地制定了這個ID,自娛自樂,也祝大家玩的開心……下面可不是我編的。

i think 900913 is great.
9-g
0-o
0-o
9-g
1-l
3-e
get it? 900913 is equal to google. THAT’S AMAZING ! =-)

EPSG:3785 這是 EPSG 在 2008 年給 Web Mercator 設立的WKID,但是這個座標系的基準面是正圓球,不是WGS 1984。 存在了一段時間後被棄用。

EPSG:3857 EPSG爲 Web Wercator 最終設立的WKID,也就是現在我們常用的Web 地圖的座標系,並且給定官方命名 “WGS 84 / Pseudo-Mercator“。

ESRI:102113 Esri內部使用ID,與 EPSG:3785 相應。已被棄用。

ESRI:102100 Esri內部使用ID,與 EPSG:3857 相應。

因此,細心地話,會發現在 ArcGIS Server 的REST 服務頁面中,Web Mercator 的空間參考會記做: 102100(3857)

這裏寫圖片描述




這些東西其實一直都是公開的,博主沒有生產這些小祕密,只是小祕密的搬運工。


我把自己看過的資源放在下面,共享之,文中提到的已經做鏈接了地,下面就不重複列舉:

http://en.wikipedia.org/wiki/Web_Mercator

http://blogs.esri.com/esri/arcgis/2014/09/25/what-does-the-nga-web-mercator-advisory-mean-for-esri-defense-and-intelligence-users/

http://blogs.esri.com/esri/arcgis/2012/03/05/mercators-500th-birthday/

http://www.sharpgis.net/post/2008/05/15/SphericalWeb-Mercator-EPSG-code-3785

http://crschmidt.net/blog/archives/243/google-projection-900913/

http://forums.esri.com/Thread.asp?c=93&f=984&t=288607

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章