Google Earth數據存儲、管理、表現及開發機制

Google Earth數據存儲、管理、表現及開發機制html

1、    Google EarthMap介紹
1.1    Google Earth
介紹
在衆多的地理信息服務提供商中,Google是較早提供服務的一個,其它有如ESRI這種巨頭,也有中國的靈圖。但憑藉着提供優質、高效、高性價比服務的理念和Google自身的巨大影響力,Google推出的Google EarthGoogle Map平臺已經成爲全球影響力最大的互聯網空間信息服務平臺。
Google Earth
具備十分突出的三個特色[1],一是可以顯示矢量數據地標,包含點、線、面等幾何類型;二是具備柵格圖像疊加的功能,贊成用戶將本機上或從網上下載下來的地圖圖片疊加到Google Earth,並且可以調整載入圖片的透明度,此功能可以方便用戶進行深刻的觀察和分析;三是具備三維虛擬模型,提供了一些城市的三維模型,贊成用戶使用三維對象。
Google Earth
使用商用衛星相片[2],主要來自Digital Globe公司的Quick Bird、美國IKONOS及法國SPOTS,高分辨率高。Google Earth僅僅有地球的真彩色數據,但圖層多而具體、如地勢、邊界、道路、鐵路、水道、地震、火山、學校、教會、公園、加油站、高爾夫球場、犯罪統計等,北美地區數據比較全。經過影響分層分塊切片組織管理、圖片數據流常數等技術讓用戶瀏覽的高分辨率數據經過網絡實時傳輸。
儘管OGCOpen GeospatialConsortium)組織中有不少已經開始進入地理信息服務提供商中這個角色中,如雅虎、微軟、ERSINASA。在中低端市場中Google仍然是一個霸主地位,它有着比其它像Arc ObjectsWorld Wind那樣的平臺更加明顯的優點。那就是他優秀的數據存儲、管理、表現及開發機制。而且它的三個版本號我的免費版、Plus版、Pro版爲不一樣的用戶羣提供了不一樣的服務,知足了各個層次人的需求。Google EarthAPI是基於AjaxAsynchronous JavaScript and XML)的JavaScript API,因此人們可以很是easy的利用Google Earth所開源的API進行地圖服務擴展或利用Google Earth所提供的各類信息來開發新的系統和其它的應用。
1.2    Google Earth
Google Map的差異
Google Earth
Google Map用的其實是同一種數據,僅僅只是是表現形式不同而已。Google Earth採用的是Google04年收購Keyhole KMLKeyhole Markup Language)標記語言來描寫敘述和保存地理信息,而Google Map則是採用HTML頁面和圖片的形式來表現數據的。如圖1-1所看到的,咱們可以看到事實上Google Earth也是像Google Map那樣當個瀏覽器,僅僅只是Google Map瀏覽的網頁是HTML格式的文件,而Google Earth瀏覽的是KML的壓縮格式KMZ格式的文件,它們都是經過網絡傳輸的方式傳給用戶的。因爲採用的是Ajax技術傳輸的地圖,因此用戶可以方便的再地圖上放大,縮小,移動而不用再次數據傳輸,這就是所謂的異步,它極大地提升了用戶的體驗性。不像同步傳輸,每次設置都得再從網上數據傳輸。但Google EarthGoogle Map都有一個共同的缺點它們的內容都是靜態的,或者說是相對靜態的,不會實時更新數據,就像World Wind那樣可以研究颶風或是地震對整個區域的影響。
1.3    Google
帶來的影響
總體而言,Google EarthGoogle04年推出的一項跨歷史性的產品,它的出現帶來了GISGeographic Information System)和地理信息服務提供的巨大 
飛躍,這就像是鮎魚效應,在平靜多年的地理界掀起了一個技術和發展的狂潮,因此說Google是偉大的。正如ESRI的創始人兼總裁Jack Dangermond所說的正是Google打開了咱們的世界,GIS行業正在趨於繁榮」 [3]。如下就一塊兒來看看Google空間信息服務平臺的奇異吧。

2、    Google的數據存儲和管理
2.1    Google
的投影方式
Google Map
採用的是墨卡託投影[5]
即等角正軸圓柱投影,但它不是將地球模擬爲橢球體,而是圓球體。採用墨卡託投影能夠保證南北(緯線)和東西(經線)都是平行直線,而且相互垂直。而且經線間隔是一樣的,緯線間隔從標準緯線(此處是赤道,也多是其它緯線)向兩級逐漸增大。因此能使Google在計算人們查詢地物的方向時不會出錯。 

2.2    Google
的影像切割
Google Map
的圖片組織方式是地圖瓦片金字塔(Tile Map Image),首先預生成規矩的瓦片地圖存儲於硬盤文件夾下,地圖以連接圖片的方式高速定製。傳統的WebGIS是實時請求地圖server傳輸地圖的,反應了地圖的現勢性。TMI方式的地圖響應要比傳統的具備更加明顯的優點,不只表現在響應速度方面,還有地圖server的負載方面。[7]
Google
的地圖分爲三大類,即普通地圖、衛星地圖以及合成地圖,當中合成地圖有由衛星地圖和底色透明的普通地圖疊加而成。每塊地圖的URL格式爲[8]:
普通地圖
http://mt1.google.com/mt?n=404&v=w2.33&x=?&y=?&zoom=?
衛星地圖
http://kh.google.com/kh?n=404&v=13&t=?
合成地圖
http://mt1.google.com/mt?n=404&v=w2t.34&x=?&y=?zoom=?
當中x表示經度方向圖片編號,y表示緯度方向圖片編號,xy的取值範圍0-217-zoom
Zoom
爲縮放因子,其範圍大於等於0小於等於17,這是由Google公司所肯定的影像層級。


2.3    Google
的數據管理
Google
地圖採用兩種不一樣的算法對影像塊的位置進行編碼[10][11]。對地圖數據而言,獲取摸個地圖塊URL的樣例爲:
http://mt1.google.com/mt?n=404&v=w2.12&x=130&y=93&zoom
。當zoom等於17時,整個地球的影像將會顯示在一個地圖塊內,此時x=y=0,每當縮放因子下降1時,每個地圖塊將再次被切割成4小塊。
對影像數據而言,URL具備必定的區別,
http://kh0.google.com/kh?n=404&v=8&t=trtqtt
。當中參數t用來表示編碼影像塊的位置,而次參數的長度則表示縮放因子的級別。在觀察全球影像時,參數t的值爲t,此時僅僅有一個影像塊。在下一級縮放因子處,全球影像被分紅4個象限,按順時鐘方向從左上開始,其編碼分別爲tqtrtstt

無論對地圖數據仍是影像數據,Google各使用4臺server來進行負載平衡。對地圖數據而言,4臺地圖server的名稱分別爲mt0mt1mt2mt3;而對影像數據而言,4臺地圖server的名稱分別爲kh0kh1kh2kh3。可以打開http://ditu.google.cn/谷歌中國地圖的源碼看看,可以看到http://mt0.gmaptiles.co.kr/mt/v=kr1.11\x26hl=zh-CN\x26gl=cn\x26這種uris


但是Google的大量的圖形數據是怎樣存儲的呢?一直讓人感受很是神奇。Google的存儲爲GFS(Google file system)分佈式存儲文件系統[12],多讀少寫的數據如大索引文件,Google Map地圖文件,靜態網頁等採用分佈式表(bigtable)來存儲,bigtable是一種弱關係型存儲系統,創建在GFS之上,字段並不知足關係數據庫範式中的原子性等,而是依據時間戳來存儲單個數據的多版本號,分爲列簇(column family),可把一系列相關的列定義爲一個列簇。GFS的數據存儲是分塊(block) 存儲的,一個文件被分紅64M/block的若干塊,可同一時候往多個數據server插入,而下載時,可同一時候從多個數據server拿一個文件的不一樣部分,這就提升了數據的吞吐效率。
此外GFS的文件採用分段壓縮機制,即若干block做爲一個壓縮單元進行壓縮,而非整個文件進行全壓縮,這樣可以在讀取文件時邊讀邊解壓縮。bigtable中也可以創建列的索引,理想狀況下一次I/O預先加載索引,而後再一次I/O定位磁盤中的數據,而後做順序讀來加載數據。這樣比通常關係數據庫的加載速度要快。

3、    Google的表現和開發
3.1    Web2.0
介紹
通常來講Web2.0 是相對Web1.0 的新的一類互聯網應用的統稱[13]Web1.0 的主要特色在於用戶經過瀏覽器獲取信息。Web2.0 則更注重用戶的交互做用,用戶既是站點內容的瀏覽者,也是站點內容的製造者。所謂站點內容的製造者是說互聯網上的每一個用戶再也不不過互聯網的讀者,同一時候也成爲互聯網的做者;再也不不過在互聯網上衝浪,同一時候也成爲波浪製造者;在模式上由單純的以及共同建設發展;由被動地接收互聯網信息向主動創造互聯網信息發展,從而更加人性化!
Google
採用了web2.0的不少相關技術來表現和展現數據給用戶。Web2.0可以利用不少其它的元數據來提升網頁緩存和其它方面的效率,提升網頁載入的利用率[14]
Web2.0
提升用戶的瀏覽速度主要表現在Ajax技術上[15]還有它的mash-up技術[16]
3.2    Ajax
技術應用

Ajax
之父Jesse James Garrett2005.2.18發表的文章寫道:Ajax不是一項技術,它是幾種各自發展的技術的有力集合,Ajax包含:使用XHTMLCSSCascading Style Sheets)來組織頁面;使用DOMDocument Object Model)進行動態顯示與交互;使用XML and XSLT進行數據交換與操做;使用XMLHttpRequest進行異步傳輸數據;使用JavaScript將所有這些綁在一塊兒[17]
Google
桌面信息平臺的client採用了Ajax,實現了數據在網絡上的異步傳輸,避免了每次提交都要反覆刷新整個頁面,提升了下載速度,因爲用戶與Ajax引擎的互動和Ajax引擎與server的互動被分離開來,用戶可以差點兒無等待的進行本身的各類動做,提供給用戶更爲友好的界面和極大改善了用戶的體驗。
基於Ajax技術,client可以與server進行異步多線程的數據交互[19]Google的地圖分塊技術就是充分的利用了這點,有Ajax引擎負責這些地圖方塊的無縫拼接、整體移動和地圖填充。當用戶作出必定的地圖動做時,Ajax引擎依據必定的算法計算出需要新載入的小塊地圖,並異步多線程的向server發出請求。最後,當地圖貼片傳回用戶端時,再由Ajax引擎無刷新的無縫拼接成用戶瀏覽器界面中的大地圖。並且,利用瀏覽器緩存,假設已經取得該小塊地圖,下次使用時則不用向server再次請求,直接利用緩存中的圖片就可。這使得當回到之前之前訪問過的地圖時,顯示速度很快。

3.3    Mashup
技術應用
Mashup
是一種交互式Web應有程序[19],它利用外部數據源檢索到得內容來建立全新的創新服務。它是將多種web應有給糅合在一塊兒爲用戶提供服務,蒐集大量有關事務和行爲的數據,具備位置凝視信息。由右圖可以看得出基於電子地圖的Mashup所佔的市場份兒最多。
Mashup
發展的一種主要動力就是Google公開了本身的Google Maps API。這讓web開發者可以再地圖中包涵所有類型的數據。而Google Map也把這樣的Mashup用到了極致,在Google Map上,你可以看到本身周圍的建築物照片,可以看到哪兒有市場賣東西,還可以看到達目的所要走的路線,可以查到每一條公交線路。讓用戶感到十分的方便,舒心。
3.4    KML
語言的使用
另外Google Earth數據的導入與導出是有KML實現的[22]KMLGoogle Earth上的一種數據交換格式,它是一種基於XML語法與文件格式的文件。他可以描寫敘述與保存Google Earth中所有的地理信息類型,如點、線、多段線、面、圖片等。
Google Earth
中的地圖數據是以KML格式來保存與交換的。在Google Earth中不管是地理基礎數據仍是企業自有數據,都是用下面6種方式來表達的:點、線/折線、多邊形/立體多邊形、種表達方式,可實現不一樣的表示效果。
2007年春季[23]GoogleOGC遞交了Google Earth所使用的KML2.1,以期得到批准,是KML成爲一個OGC標準。不久以後,OGCKML認定爲最優辦法,並將其整合到現有的地理標識語音GML中。OGC將負責維護和擴展這個標準。
Google
一腳KML技術的擁有權反映了Google致力於開發標準的決心。從根本上說,Google的興趣不是要控制信息,而是鼓舞普及信息。其實,經過使KML文件成爲一個國際性標準,能夠與其它的GIS數據格式交換和共享信息,爲Google空間信息平臺滲入其它GIS平臺掃清一個巨大的障礙。

4、    總結
本文僅僅是介紹了Google數據存儲、管理、表現及開發機制的一部分,Google EarthGoogle Map另外中還有不少的技術和創新沒有說明。Google EarthGoogle Map在中國也有一些重要的功能沒有實現,如Geocoding,地址查詢經緯度,這對於開發基於GIS的應用系統十分的重要,只是中國已經有許不少多聰明的廠商們攻克了這個問題,具備表明性的是北京靈圖公司的51map。中國還有不少網絡巨頭也進入了地理信息服務供應商的行列,如百度,搜狗等。但願他們能再接再礪,作的更好,爲中國的GIS明天作出更大的貢獻。


參考文獻:
[1][2]http://wenda.tianya.cn/wenda/thread?tid=29317d1eb7390946 天涯問答
[3] 3S新聞週刊》: Google VS ESRI
http://home.donews.com/donews/article/9/95043.html 
[4] Google地球用戶指南
http://earth.google.com/intl/zh-CN/userguide/v5/ug_toc.html 
[5] Google Maps地圖投影全解析http://tieba.baidu.com/f?kz=567477212 
[6]    再議瓦片地圖(Tile Map) -- 公衆地圖服務框架模式
http://www.cnblogs.com/charmdx/articles/813948.html
[7]
http://hiphotos.baidu.com/liongg/pic/item/ca077bec413535f22f2e219a.jpg
[8] 《信息服務平臺策略、原理與應用研究》華東師範大學劉琳業碩士論文
[9] http://hiphotos.baidu.com/liongg/pic/item/f88bb901d342f520738da59b.jpg
[10]http://www.lesjones.com/posts/001733.shtml   
Les Jones: HowGoogle Maps Works
[11]http://jgwebber.blogspot.com/2005/02/mapping-google.html    
HOW GOOGLE MAPSWORK Posted by Charles Cook
[12] 《搜索引擎googlebaidu數據存儲方式》
http://nneverwei.javaeye.com
[13] 百度百科http://baike.baidu.com/view/733.htm?fr=ala0 
[14] PhillipaGill,Martin Arlitt et al. 2007. YouTube Traffic 
Characterization:A View From the Edge. Proceedings of the 
7th ACM SIGCOMMconference on Internet measurement. 
(San Diego, CA,USA, October 24-26, 2007). IMC’07. 
ACM Press, NewYork, NY. 15 – 28. 
DOI=http://doi.acm.org/10.1145/1298306.1298310
[15] FabianSchneider, Sachin Agarwal, et al. 2008. The New 
Web:Characterizing AJAX Traffic. Proceedings of the 9th 
InternationalConference on Passive and Active Network 
Measurement.PAM’08. Springer Berlin / Heidelberg. 4979: 
31-40.
[16] Web 2.0Traffic Measurement – Analysis on Online Map Applications 
Song LinTsinghua National Laboratory for IBM China Research Lab Tsinghua NationalLaboratory for 
Ke XuInformation Science and Technology Beijing, China Information Science andTechnology 
Zhiguo GaoDepartment of Computer Science Department of Computer Science
[17] AJAXA New Approach to Web Applications Jesse James Garrett 
[18][19] 《基於AJAXInternet地圖服務方法初探》
唐中實,朱賢澤,饒順斌       清華大學土木project系3S中心
[20]
http://www.ibm.com/developerworks/cn/xml/x-mashups.html
Duane   Merrill (duane@duanemerrill.com), 自由做家, Freelance
[21]http://www.programmableweb.com/mashups  Mashup Dashboard
[22] KMLGoogle+Earth開發中的應用》  十屆海洋測繪綜合性學術研討會論文集  陳惠榮,李樹軍,鄭義東
[23]《信息服務平臺策略、原理與應用研究》華東師範大學劉琳業碩士論文
java

相關文章
相關標籤/搜索