李 翔,丁嘉鵬,劉鑫夫
(1.信息工程大學 測繪學院,河南 鄭州 450052;2.72946部隊,山東 淄博 255000;3.66240部隊,北京 100042)
Mashup最初源于流行音樂,是從兩首不同的歌曲中混合演唱和樂器的音軌而構成的一首新歌[1]。而如今它作為一種新型的基于 Web的數據集成應用程序正在Internet上逐漸興起[2]。2005-06-29Google公司發布了自己的應用程序接口(API),任何個人或者單位都可以通過Google公司提供的API來開發自己的地圖服務程序。它的出現,令人們在互聯網上能夠實時、動態、互動地制作和發布各特定用戶所需要的專題地圖,促進各部門的科研及滿足人們的日常需要,因此,研究Mashup專題地圖相關技術具有重要的現實意義。
現今涌現出的Mashup應用大致由以下幾類構成:視頻圖像 Mashup、搜索購物 Mashup、新聞Mashup以及地圖Mashup。地圖Mashup本質上是建立在GIS、網絡等地圖平臺上,利用地圖應用程序接口(API)將大量包含有空間信息(主要是位置信息)的數據集用地圖可視化的方式呈現出來,為地圖用戶提供空間地理信息的共享、互操作和集成等地圖服務。同時,通過將地圖服務包裝成 Web服務,可以在多臺不同的機器上部署地圖服務以響應客戶端的請求,從而將負載分散到不同的計算機上,實現系統的分布式[3-4]。
1)Mashup基于網絡這個包羅萬象的平臺,融合了海量數據,它能夠為人們提供各種信息數據和資源;
2)地圖Mashup制作比較簡單,有一定網頁編程能力的操作員都可以制作地圖,在網絡上的可操作性比較強;
3)地圖Mashup的更新速度比較快,現勢性遠遠超過以往的地圖;
4)地圖Mashup交互性強,用戶可以通過客戶端進行信息資源的反饋;
5)地圖Mashup操作起來簡單快捷,“just click on your mouse”就是其地圖操作的最好體現。
專題地圖是突出而較完備地表示一種或者幾種自然或社會經濟現象,而使地圖內容專門化的地圖[6]。專題地圖更側重于表示某個方面的內容,強調的是“個性”特征,有著固定的用圖對象。因此,它能夠滿足科學研究、國民經濟和國防建設等方面的各種專門用途的要求。專題地圖中的地圖要素可以分為2類,即地理基礎地圖要素和專題要素。
而基于地圖API的專題地圖主要是利用Web平臺上的地圖調用完成的,所以地理基礎地圖要素相對比較齊全,能夠很好反映出相應地區境界、植被、交通等地理要素,同時能夠進行地圖漫游和縮放功能,通過變換地圖區域和地圖比例尺的方式獲取各種形式的專題地圖。
專題要素是Mashup專題地圖的核心,Mashup地圖無論從信息承載能力,還是地圖現勢性上都要遠遠優于傳統的地圖,所以對專題要素及其空間數據需要進行深入的分析和處理。在專題符號的設計上,不僅要在視覺上更加美觀,而且要從傳統的靜態符號轉換為掛接著大量信息數據的動態符號。無論是點狀、線狀還是面狀符號都在表達和傳遞地圖信息時,更要注意如何能使整體的符號隨數據“動”起來,使符號負載了具有一定走向和趨勢的指向性決策地圖信息。另外,符號的表示更要體現出個性化風格,不僅可以使用軟件制作個性化的符號,更可以通過網絡的交互功能共享不同人群制作的各種特色的符號,讓地圖更加“大眾化”,使更多的人去接觸地圖、認知地圖、使用和改造地圖。
2.2.1 Google map API的調用
地圖API是一種通過JavaScript(或者其他編程語言)將網站上的地圖嵌入到自己網頁的應用程序接口[7]。它基于標準的Internet協議提供功能服務,應用系統可以很容易地通過標準協議訪問該功能。它提供了處理地圖和向地圖添加內容的功能服務,讓人們能夠在自己的網站上創建功能全面的地圖應用。一般常用的地圖API主要有:Google地圖API、百度地圖API、51地圖API等等。其調用地圖流程如圖1所示。

圖1 Google map API調用流程
利用地圖API創建并初始化Web地圖后,就需要構建基于API地圖服務的Mashup專題地圖具體框架。本文是通過網站的形式來發布Mashup專題地圖的,所以需要在網站上實現地圖功能的同時,也要表達出專題地圖的信息。具體要完成的幾個地圖功能有:數據的導入、地圖操作、符號設計、信息查詢、數據掛接和人機交互。其中地圖操作、信息查詢在使用地圖API的時候,可調用地圖控件完成相應功能。例如地圖的漫游縮放可以通過標尺控件的拉動實現不同比例尺的切換,信息查詢可用查詢條控件完成查詢以及標注目標的功能。而需要Mashup完成的服務主要有數據的融合、專題符號設計、動態數據的掛接以及人機的交互。
2.2.2 多源數據的整合處理
由于采集到專題地圖要素的數據是多種多樣的,而且這些數據不只是圖表、文字等傳統地圖上單調的符號說明,動態的視頻數據和音頻數據等超媒體也可以添加到Mashup專題地圖當中,在制圖信息的基礎上用可視化的方法為用戶提供更為直觀的信息服務。這些數據大致分為2個部分,一是本地基礎數據庫中的數據;二是基于Web平臺的外部數據庫,包括各種 Web服務、API和服務器站點等。但是這兩者之間無論是數據格式還是數據接口上都有著不小的差異,而且表達信息也不完全一致。這需要地圖開發者進行人工的數據整理和篩選[8]。
2.2.3 專題符號的設計
本文設計的方案主要是利用各種繪圖軟件,對各種數據進行分析后,根據實際情況進行數據的有效取舍,然后將取舍后的有效數據進行可視化分析和數據模擬,得到更加直觀的圖表信息作為專題要素反饋給該網站的鏈接用戶。通過Excel、Illustrator、Photoshop和matlab等軟件,可以很輕松將各種數據以圖表的形式表示出來,例如GDP柱狀圖、收入比重餅圖以及房價走勢曲線圖。這樣使Web平臺的共享資源得到了充分的利用,也能通過本地數據對其進行校正和檢驗,在數據的完整性、現勢性上比起傳統地圖有了很大的提高,同時準確性也有了一定的保障。
2.2.4 信息查詢和空間分析
信息查詢和空間分析功能是Mashup專題地圖的GIS功能的主要體現。當輸入一定的查詢內容之后,地圖API就根據服務器數據庫中的數據信息,將帶有關鍵內容的查詢結果全部顯示給用戶。同時地圖上也會顯示出這些具體位置的標記,點擊這些標記可以進一步獲取更加詳細的信息。
2.2.5 動態數據的掛接
數據掛接功能的實現很好地解決了靜態數據的問題,使Mashup專題地圖真正地“動”了起來。通過JavaScript語言編程,可以很方便將一些數據信息和注記符號鏈接起來。需要注意的是這里的數據大都來自于不同的數據網站,是通過Web平臺來共享這些網絡信息的,當然也可以將這些信息下載到本地上去。尤其是在地圖的現勢性和更新效率上有了質的飛躍,改變以往“靜而不動”的地圖特點。這種動態的數據符號更符合當今快節奏的現實生活,能夠很好地滿足人們對實時數據的需求。
2.2.6 交互功能的設計
最后是人機交互功能的設計。而地圖Mashup可以通過用戶對地圖標記功能、信息反饋功能和地圖服務的調用完成在客戶端與Mashup主服務器的交互操作[9]。在專題要素中利用用戶可以通過設計的注記符號標注任何自己感興趣的目標,而這些目標都會記憶在Mashup網站的統計數據庫中,通過這些信息,開發者就能很好地去了解人們的大致欣賞品味、審美觀念和興趣愛好的共鳴之處,并設計出相應專題要素信息,供用戶參閱和查詢,以滿足絕大多數用戶的需求。每個用戶的不同標記都會反饋給開發者以不同的設計和制作理念,同時用戶也可以在圖上進行自己的專題要素標記設計和數據信息的補充,從而不斷地去完善地圖Mashup的數據庫系統。
本文設計的基于Google map API的Mashup專題地圖框架結構如圖2所示。

圖2 基于Google map API的Mashup專題地圖的框架結構
本文根據上述框架實現了鄭州市區和經濟形勢有關的Mashup功能的地圖顯示,并將這些地圖發布在一個專題網站上,供用戶查詢使用。該Mashup專題地圖主要從鄭州市各個縣區的GDP、房價走勢、房產信息、旅游景點、旅游客流量、酒店住宿信息以及交通運量等幾個方面進行了數據的收集、篩選整理、分析,并通過Excel、Illustrator等軟件進行了數據的模擬,完成了相關的圖標和專題符號設計,實現綜合性的Mashup功能,并在服務器端和客戶端進行發布和使用。本文設計的Mashup專題地圖顯示如圖3、圖4所示。


部分代碼如下:


1)由于Mashup專題地圖的多種優點,對傳統地圖有了很大的沖擊,但是地圖Mashup尚處在一個萌芽階段,各個方面還都不夠完善。內容供應者也只是剛剛開始看到為基于機器的內容訪問提供API的價值所在,安全問題并未得到足夠的重視。用戶的敏感隱私數據方面以及一些多維參數的隱私保護空間,需要可用于識別驗證用戶身份和相應的保護策略、允許訪問操作等。
2)地圖Mashup專題地圖中數據的融合是一個關鍵,但是由于各種數據格式和接口都不完全相同,這造成了Mashup數據集成方面充滿挑戰,主要是語義和數據的質量。一方面是缺少數據和數據映射不完整;另一方面,數據并不適合進行機器自動化處理,還有由于獲取數據必須采用屏幕抓取技術而引起的數據污染問題。
此外,Mashup專題地圖的設計目標是讓普通用戶能夠開發自己的Mashup地圖應用,但是現有的Mashup開發工具仍然需要具有一定專業知識的人員才能進行無障礙的開發[10]。
Mashup技術興起的如今,具有更多更廣泛功能的Mashup專題地圖越來越受到人們的青睞。首先,不論是從地圖功能的實現上,還是信息數據的地圖表達上,Mashup專題地圖都有了天然的優勢特點,這對專題地圖的發展是一個極大的促進作用;其次,Mashup專題地圖有豐富的資源信息量,更令人眼前一亮的就是視頻和音頻等超媒體數據也將作為一種新的專題要素添加到地圖當中。最后,Mashup在Web平臺上的“大眾化”地圖體驗是地圖學發展的一個不錯的開端,它令更多的用戶參與到具體地圖的更新與維護當中,給地圖學以更大的發展空間。
基于Google map API的Mashup專題地圖是一種比較典型的共享資源的二次開發,它擁有巨大的挖掘潛力,其在各行各業中的廣泛應用以及針對不同部門中內容的專業性和針對性,再加上有互聯網絡這個資源平臺,令其在地圖信息承載量和現勢性方面上有了質的飛躍,具有很廣闊的發展前景。
[1]秦靈伶,王文東,賈霞,等.Mashup技術及其發展趨勢[J].電信科學,2009(9):80-86.
[2]Jackson C,Wang H.Subspace:Secure cross-domain communication for web Mashups[C].Proceedings of the 16th International Conference on World Wide Web WWW’07.New York:ACM,2007:611-620.
[3]龍明,汶博,李曉剛.基于Web Service的Web地圖服務設計與實踐[J].測繪技術學報,2007,12(24):56-58.
[4]高永兵,吳紀磊,胡文江,等.基于 Web服務的 Mashup應用的研究與實現[J].計算機技術與發展,2010,20(6):137-140.
[5]龍岳紅.地圖Mashup的研究與實現[D].長沙:中南大學,2008.
[6]劉萬青,劉詠梅,袁堪省.數字專題地圖[M].北京:科學出版社,2007.
[7]桂智明,晏磊.基于XML Web Service體系的網絡地圖服務[J].測繪通報,2003(1):53-55.
[8]戴兵.基于Google Maps API的校園地圖設計[J].電腦知識與技術,2008(2):184-185.
[9]李峰,李春旺.Mashup關鍵技術研究[J].現代圖書情報技術,2009(1):44-49.