国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Google Maps地圖投影全解析

Google Maps、Virtual Earth等網(wǎng)絡(luò)地理所使用的地圖投影,常被稱作Web Mercator或Spherical Mercator,它與常規(guī)墨卡托投影的主要區(qū)別就是把地球模擬為球體而非橢球體。建議先對(duì)地圖投影知識(shí)做一個(gè)基本的了解,《地圖投影為什么》。

什么是墨卡托投影?

墨卡托(Mercator)投影,又名"等角正軸圓柱投影",荷蘭地圖學(xué)家墨卡托(Mercator)在1569年擬定,假設(shè)地球被圍在一個(gè)中空的圓柱里,其赤道與圓柱相接觸,然后再假想地球中心有一盞燈,把球面上的圖形投影到圓柱體上,再把圓柱體展開,這就是一幅標(biāo)準(zhǔn)緯線為零度(即赤道)的"墨卡托投影"繪制出的世界地圖。從球到平面,肯定有個(gè)轉(zhuǎn)換公式,這里就不再羅列。

Google們?yōu)槭裁催x擇墨卡托投影?

墨卡托投影的"等角"特性,保證了對(duì)象的形狀的不變行,正方形的物體投影后不會(huì)變?yōu)殚L方形。"等角"也保證了方向和相互位置的正確性,因此在航海和航空中常常應(yīng)用,而Google們?cè)谟?jì)算人們查詢地物的方向時(shí)不會(huì)出錯(cuò)。

墨卡托投影的"圓柱"特性,保證了南北(緯線)和東西(經(jīng)線)都是平行直線,并且相互垂直。而且經(jīng)線間隔是相同的,緯線間隔從標(biāo)準(zhǔn)緯線(此處是赤道,也可能是其他緯線)向兩級(jí)逐漸增大。

但是,"等角"不可避免的帶來的面積的巨大變形,特別是兩極地區(qū),明顯的如格陵蘭島比實(shí)際面積擴(kuò)大了N倍。不過要是去兩極地區(qū)探險(xiǎn)或可靠的同志們,一般有更詳細(xì)的資料,不會(huì)來查看網(wǎng)絡(luò)地圖的,這個(gè)不要緊。

(圖片來源:IDVUX博客)

 

為什么是圓形球體,而非橢球體?

這說來簡單,僅僅是由于實(shí)現(xiàn)的方便,和計(jì)算上的簡單,精度理論上差別0.33%之內(nèi),特別是比例尺越大,地物更詳細(xì)的時(shí)候,差別基本可以忽略。

Web墨卡托投影坐標(biāo)系:

以整個(gè)世界范圍,赤道作為標(biāo)準(zhǔn)緯線,本初子午線作為中央經(jīng)線,兩者交點(diǎn)為坐標(biāo)原點(diǎn),向東向北為正,向西向南為負(fù)。

X軸:由于赤道半徑為6378137米,則赤道周長為2*PI*r = 20037508.3427892,因此X軸的取值范圍:[-20037508.3427892,20037508.3427892]。

Y軸:由墨卡托投影的公式可知,同時(shí)上圖也有示意,當(dāng)緯度φ接近兩極,即90°時(shí),y值趨向于無窮。這是那些"懶惰的工程師"就把Y軸的取值范圍也限定在[-20037508.3427892,20037508.3427892]之間,搞個(gè)正方形。

懶人的好處,眾所周知,事先切好靜態(tài)圖片,提高訪問效率云云。俺只是告訴你為什么會(huì)是這樣子。因此在投影坐標(biāo)系(米)下的范圍是:最小(-20037508.3427892, -20037508.3427892 )到最大 (20037508.3427892, 20037508.3427892)。

對(duì)應(yīng)的地理坐標(biāo)系:

按道理,先講地理坐標(biāo)系才是,比如球體還是橢球體是地理坐標(biāo)系的事情,和墨卡托投影本關(guān)聯(lián)不大。簡單來說,投影坐標(biāo)系(PROJCS)是平面坐標(biāo)系,以米為單位;而地理坐標(biāo)系(GEOGCS)是橢球面坐標(biāo)系,以經(jīng)緯度為單位。具體可參考《坐標(biāo)系、坐標(biāo)參照系、坐標(biāo)變換、投影變換》。

經(jīng)度:這邊沒問題,可取全球范圍:[-180,180]。

緯度:上面已知,緯度不可能到達(dá)90°,懶人們?yōu)榱苏叫味〉?20037508.3427892,經(jīng)過反計(jì)算,可得到緯度85.05112877980659。因此緯度取值范圍是[-85.05112877980659,85.05112877980659]。其余的地區(qū)怎么辦?沒事,企鵝們不在乎。

因此,地理坐標(biāo)系(經(jīng)緯度)對(duì)應(yīng)的范圍是:最小(-180,-85.05112877980659),最大(180, 85.05112877980659)。至于其中的Datum、坐標(biāo)轉(zhuǎn)換等就不再多言。

 

相關(guān)坐標(biāo)計(jì)算:

關(guān)于Google Maps等的組織方式——地圖瓦片金字塔,估計(jì)我在這里重復(fù)一遍這玩意,怕也是沒人看了。盡管原理都一樣,但具體到寫不同廠商不同數(shù)據(jù)源的代碼時(shí),你會(huì)發(fā)現(xiàn),可縮放級(jí)別數(shù)不一樣,最小級(jí)別不一樣,編碼方式不一樣,比如Google的QRST,微軟的四叉樹,OSGeo的TMS等。

然而,你或許也不必這么麻煩,因?yàn)檫@些算法在網(wǎng)絡(luò)上早已遍布朝野,你盡可從他人博客中獲取,或是從開源軟件里學(xué)習(xí)。這本身都不是秘密,微軟自己也是公布的。

Tiles à la Google Maps》 用交互性地方式可得到任一Tile的邊界范圍,各種流行編碼方式等。該頁面的鏈接都非常有價(jià)值,部分也是本文寫作的重要參考。作者用python完成了下列坐標(biāo)之間轉(zhuǎn)換算法:經(jīng)緯度(出現(xiàn)在KML中的坐標(biāo),WMS的BBOX參數(shù)等),平面坐標(biāo)XY(米,Web Mercator投影坐標(biāo)系),金字塔的XYZ(即X軸的位置,Y軸的位置,和縮放級(jí)別ZoomLevel),每個(gè)Tile的編碼Key值(QRST或0123等)。轉(zhuǎn)換時(shí),還需要注意兩個(gè)概念,Ground Resolution和Map Scale。

 

 

 

(圖片來源:maptiler.org)

 

Ground Resolution,地面分辨率,類似Spatial Resolution(空間分辨率),我們這里主要關(guān)注用象元(pixel size)表示的形式:一個(gè)像素(pixel)代表的地面尺寸(米)。以Virtual Earth為例,Level為1時(shí),圖片大小為512*512(4個(gè)Tile),那么赤道空間分辨率為:赤道周長/512。其他緯度的空間分辨率則為 緯度圈長度/512,極端的北極則為0。Level為2時(shí),赤道的空間分辨率為 赤道周長/1024,其他緯度為 緯度圈長度1024。很明顯,Ground Resolution取決于兩個(gè)參數(shù),縮放級(jí)別Level緯度latitude ,Level決定像素的多少,latitude決定地面距離的長短。地面分辨率的公式為,單位:米/像素:

ground resolution = (cos(latitude * pi/180) * 2 * pi * 6378137 meters) / (256 * 2level pixels)

 

    Map Scale,即地圖比例尺,小學(xué)知識(shí),圖上距離比實(shí)地距離,兩者單位一般都是米。Ground Resolution的計(jì)算中,由Level可得到圖片的像素大小,那么需要把其轉(zhuǎn)換為以米為單位的距離,涉及到DPI(dot per inch),暫時(shí)可理解為類似的PPI(pixelper inch),即每英寸代表多少個(gè)像素。256 * 2level / DPI 即得到相應(yīng)的英寸inch,再把英寸inch除以0.0254轉(zhuǎn)換為米。實(shí)地距離仍舊是:cos(latitude * pi/180) * 2 * pi * 6378137 meters; 因此比例尺的公式為,一般都化為1XXX,無單位:

map scale = 256 * 2level / screen dpi / 0.0254 / (cos(latitude * pi/180) * 2 * pi * 6378137)

= 1 : (cos(latitude * pi/180) * 2 * pi * 6378137 * screen dpi) / (256 * 2level * 0.0254)

 

其實(shí),Map Scale 和 Ground Resolution存在對(duì)應(yīng)關(guān)系,畢竟都和實(shí)地距離相關(guān)聯(lián),兩者關(guān)系:map scale = 1 : ground resolution * screen dpi / 0.0254 meters/inch

Virtual Earth Tile System》列舉了Virtual Earth在赤道上,Level、像素?cái)?shù)、地面分辨率、地圖比例尺的對(duì)應(yīng)關(guān)系,同時(shí)本文也簡單介紹了Mercator投影和上述兩個(gè)概念,推薦。

 

此外,《Addressing Google Maps image tiles》應(yīng)用程序,輸入經(jīng)緯度和縮放級(jí)別,即可縮放到相應(yīng)的Google Maps位置,而且可以顯示出查找過程的QRST。JavaScript實(shí)現(xiàn)的算法,也可以抓下來和《Tiles à la Google Maps》對(duì)比下,從經(jīng)緯度到到Tile編碼的轉(zhuǎn)換。

 

WKT形式表示

Google Maps和Virtual Earth等的流行程度不用多講,然而他們所使用的Web Mercator或Spherical Mercator在很長一段時(shí)間內(nèi)并沒有被EPSG的投影數(shù)據(jù)庫所接納。EPSG認(rèn)為它不能算作科學(xué)意義上的投影,所以只是給了一個(gè)EPSG:900913的標(biāo)號(hào)(SRID),這個(gè)標(biāo)號(hào)游離在EPSG常規(guī)標(biāo)號(hào)范圍之外。(EPSG、SRID是什么?參見《EPSG 、SRID》。)

    到了2008年5月(據(jù)SharpGIS同學(xué)), EPSG恍然明白,不管橢球體還是球體,其實(shí)都是對(duì)地球的模擬,只是精確程度上的差別,沒有本質(zhì)上的不同?;蛘呤遣坏貌唤邮軓V泛的事實(shí)標(biāo)準(zhǔn),接納了這個(gè)投影,定義投影坐標(biāo)系PROJCS的名字為"Popular Visualisation CRS / Mercator",SRID為EPSG:3785;地理坐標(biāo)系GEOGCS的名字為"Popular Visualisation CRS",SRID為"EPSG:4055"。這些標(biāo)號(hào)已經(jīng)進(jìn)入"正常范圍"。(PS:這個(gè)Visualisation 是英式英語寫法?)

PROJCS 的WKT《Well Known Text》寫法如下,GEOGCS、Datum等的WKT表示參見《Spherical/Web Mercator: EPSG code 3785》。附帶說一句,Web Mercator在ESRI公司的編號(hào)(ESRI叫它Well Known ID?)暫時(shí)是102113,或許偶爾用得到。

PROJCS["Popular Visualisation CRS / Mercator",
    GEOGCS[
"Popular Visualisation CRS",
        DATUM[
"Popular_Visualisation_Datum",
            SPHEROID[
"Popular Visualisation Sphere",6378137,0,
                AUTHORITY[
"EPSG","7059"]],
            TOWGS84[
0,0,0,0,0,0,0],
            AUTHORITY[
"EPSG","6055"]],
        PRIMEM[
"Greenwich",0,
            AUTHORITY[
"EPSG","8901"]],
        UNIT[
"degree",0.01745329251994328,
            AUTHORITY[
"EPSG","9122"]],
        AUTHORITY[
"EPSG","4055"]],
    UNIT[
"metre",1,
        AUTHORITY[
"EPSG","9001"]],
    PROJECTION[
"Mercator_1SP"],
    PARAMETER[
"central_meridian",0],
    PARAMETER[
"scale_factor",1],
    PARAMETER[
"false_easting",0],
    PARAMETER[
"false_northing",0],
    AUTHORITY[
"EPSG","3785"],
    AXIS[
"X",EAST],
    AXIS[
"Y",NORTH]]

    附記:這個(gè)問題算是老問題,費(fèi)這么多時(shí)間,主要就是分享,畢竟自己還算是相當(dāng)明白。也是看見有人不懂亂說,寫篇文章糾正下。當(dāng)然誰都會(huì)犯錯(cuò)誤,包括我這篇是否100%正確,你也可以質(zhì)疑。起這個(gè)題目其實(shí)不是本意,因?yàn)樗豢茖W(xué),甚至EPSGINFORMATION_SOURCE字段寫的都是Microsoft,只不過國內(nèi)Google更火些,SEO一下。

    這篇文章除了參考文中所列鏈接外, Microsoft、Google、EPSG、OGC等組織相關(guān)的說明外,Charlie Savage、SharpGIS、Nelson John等博客也是非常重要的來源,在此致以謝意。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
墨卡托投影
如何從Google Map上大面積截取地圖和遙感影像以及如何對(duì)其設(shè)定投影和坐標(biāo)
Web Mercator 公開的小秘密 | kikita & Maps
地圖投影技術(shù)剖析與思考
Proj.Net 投影介紹
一文讓你全面了解地圖投影
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服