李 翔,丁嘉鵬,劉鑫夫
(1.信息工程大學(xué) 測(cè)繪學(xué)院,河南 鄭州 450052;2.72946部隊(duì),山東 淄博 255000;3.66240部隊(duì),北京 100042)
Mashup最初源于流行音樂(lè),是從兩首不同的歌曲中混合演唱和樂(lè)器的音軌而構(gòu)成的一首新歌[1]。而如今它作為一種新型的基于 Web的數(shù)據(jù)集成應(yīng)用程序正在Internet上逐漸興起[2]。2005-06-29Google公司發(fā)布了自己的應(yīng)用程序接口(API),任何個(gè)人或者單位都可以通過(guò)Google公司提供的API來(lái)開發(fā)自己的地圖服務(wù)程序。它的出現(xiàn),令人們?cè)诨ヂ?lián)網(wǎng)上能夠?qū)崟r(shí)、動(dòng)態(tài)、互動(dòng)地制作和發(fā)布各特定用戶所需要的專題地圖,促進(jìn)各部門的科研及滿足人們的日常需要,因此,研究Mashup專題地圖相關(guān)技術(shù)具有重要的現(xiàn)實(shí)意義。
現(xiàn)今涌現(xiàn)出的Mashup應(yīng)用大致由以下幾類構(gòu)成:視頻圖像 Mashup、搜索購(gòu)物 Mashup、新聞Mashup以及地圖Mashup。地圖Mashup本質(zhì)上是建立在GIS、網(wǎng)絡(luò)等地圖平臺(tái)上,利用地圖應(yīng)用程序接口(API)將大量包含有空間信息(主要是位置信息)的數(shù)據(jù)集用地圖可視化的方式呈現(xiàn)出來(lái),為地圖用戶提供空間地理信息的共享、互操作和集成等地圖服務(wù)。同時(shí),通過(guò)將地圖服務(wù)包裝成 Web服務(wù),可以在多臺(tái)不同的機(jī)器上部署地圖服務(wù)以響應(yīng)客戶端的請(qǐng)求,從而將負(fù)載分散到不同的計(jì)算機(jī)上,實(shí)現(xiàn)系統(tǒng)的分布式[3-4]。
1)Mashup基于網(wǎng)絡(luò)這個(gè)包羅萬(wàn)象的平臺(tái),融合了海量數(shù)據(jù),它能夠?yàn)槿藗兲峁└鞣N信息數(shù)據(jù)和資源;
2)地圖Mashup制作比較簡(jiǎn)單,有一定網(wǎng)頁(yè)編程能力的操作員都可以制作地圖,在網(wǎng)絡(luò)上的可操作性比較強(qiáng);
3)地圖Mashup的更新速度比較快,現(xiàn)勢(shì)性遠(yuǎn)遠(yuǎn)超過(guò)以往的地圖;
4)地圖Mashup交互性強(qiáng),用戶可以通過(guò)客戶端進(jìn)行信息資源的反饋;
5)地圖Mashup操作起來(lái)簡(jiǎn)單快捷,“just click on your mouse”就是其地圖操作的最好體現(xiàn)。
專題地圖是突出而較完備地表示一種或者幾種自然或社會(huì)經(jīng)濟(jì)現(xiàn)象,而使地圖內(nèi)容專門化的地圖[6]。專題地圖更側(cè)重于表示某個(gè)方面的內(nèi)容,強(qiáng)調(diào)的是“個(gè)性”特征,有著固定的用圖對(duì)象。因此,它能夠滿足科學(xué)研究、國(guó)民經(jīng)濟(jì)和國(guó)防建設(shè)等方面的各種專門用途的要求。專題地圖中的地圖要素可以分為2類,即地理基礎(chǔ)地圖要素和專題要素。
而基于地圖API的專題地圖主要是利用Web平臺(tái)上的地圖調(diào)用完成的,所以地理基礎(chǔ)地圖要素相對(duì)比較齊全,能夠很好反映出相應(yīng)地區(qū)境界、植被、交通等地理要素,同時(shí)能夠進(jìn)行地圖漫游和縮放功能,通過(guò)變換地圖區(qū)域和地圖比例尺的方式獲取各種形式的專題地圖。
專題要素是Mashup專題地圖的核心,Mashup地圖無(wú)論從信息承載能力,還是地圖現(xiàn)勢(shì)性上都要遠(yuǎn)遠(yuǎn)優(yōu)于傳統(tǒng)的地圖,所以對(duì)專題要素及其空間數(shù)據(jù)需要進(jìn)行深入的分析和處理。在專題符號(hào)的設(shè)計(jì)上,不僅要在視覺上更加美觀,而且要從傳統(tǒng)的靜態(tài)符號(hào)轉(zhuǎn)換為掛接著大量信息數(shù)據(jù)的動(dòng)態(tài)符號(hào)。無(wú)論是點(diǎn)狀、線狀還是面狀符號(hào)都在表達(dá)和傳遞地圖信息時(shí),更要注意如何能使整體的符號(hào)隨數(shù)據(jù)“動(dòng)”起來(lái),使符號(hào)負(fù)載了具有一定走向和趨勢(shì)的指向性決策地圖信息。另外,符號(hào)的表示更要體現(xiàn)出個(gè)性化風(fēng)格,不僅可以使用軟件制作個(gè)性化的符號(hào),更可以通過(guò)網(wǎng)絡(luò)的交互功能共享不同人群制作的各種特色的符號(hào),讓地圖更加“大眾化”,使更多的人去接觸地圖、認(rèn)知地圖、使用和改造地圖。
2.2.1 Google map API的調(diào)用
地圖API是一種通過(guò)JavaScript(或者其他編程語(yǔ)言)將網(wǎng)站上的地圖嵌入到自己網(wǎng)頁(yè)的應(yīng)用程序接口[7]。它基于標(biāo)準(zhǔn)的Internet協(xié)議提供功能服務(wù),應(yīng)用系統(tǒng)可以很容易地通過(guò)標(biāo)準(zhǔn)協(xié)議訪問(wèn)該功能。它提供了處理地圖和向地圖添加內(nèi)容的功能服務(wù),讓人們能夠在自己的網(wǎng)站上創(chuàng)建功能全面的地圖應(yīng)用。一般常用的地圖API主要有:Google地圖API、百度地圖API、51地圖API等等。其調(diào)用地圖流程如圖1所示。
圖1 Google map API調(diào)用流程
利用地圖API創(chuàng)建并初始化Web地圖后,就需要構(gòu)建基于API地圖服務(wù)的Mashup專題地圖具體框架。本文是通過(guò)網(wǎng)站的形式來(lái)發(fā)布Mashup專題地圖的,所以需要在網(wǎng)站上實(shí)現(xiàn)地圖功能的同時(shí),也要表達(dá)出專題地圖的信息。具體要完成的幾個(gè)地圖功能有:數(shù)據(jù)的導(dǎo)入、地圖操作、符號(hào)設(shè)計(jì)、信息查詢、數(shù)據(jù)掛接和人機(jī)交互。其中地圖操作、信息查詢?cè)谑褂玫貓DAPI的時(shí)候,可調(diào)用地圖控件完成相應(yīng)功能。例如地圖的漫游縮放可以通過(guò)標(biāo)尺控件的拉動(dòng)實(shí)現(xiàn)不同比例尺的切換,信息查詢可用查詢條控件完成查詢以及標(biāo)注目標(biāo)的功能。而需要Mashup完成的服務(wù)主要有數(shù)據(jù)的融合、專題符號(hào)設(shè)計(jì)、動(dòng)態(tài)數(shù)據(jù)的掛接以及人機(jī)的交互。
2.2.2 多源數(shù)據(jù)的整合處理
由于采集到專題地圖要素的數(shù)據(jù)是多種多樣的,而且這些數(shù)據(jù)不只是圖表、文字等傳統(tǒng)地圖上單調(diào)的符號(hào)說(shuō)明,動(dòng)態(tài)的視頻數(shù)據(jù)和音頻數(shù)據(jù)等超媒體也可以添加到Mashup專題地圖當(dāng)中,在制圖信息的基礎(chǔ)上用可視化的方法為用戶提供更為直觀的信息服務(wù)。這些數(shù)據(jù)大致分為2個(gè)部分,一是本地基礎(chǔ)數(shù)據(jù)庫(kù)中的數(shù)據(jù);二是基于Web平臺(tái)的外部數(shù)據(jù)庫(kù),包括各種 Web服務(wù)、API和服務(wù)器站點(diǎn)等。但是這兩者之間無(wú)論是數(shù)據(jù)格式還是數(shù)據(jù)接口上都有著不小的差異,而且表達(dá)信息也不完全一致。這需要地圖開發(fā)者進(jìn)行人工的數(shù)據(jù)整理和篩選[8]。
2.2.3 專題符號(hào)的設(shè)計(jì)
本文設(shè)計(jì)的方案主要是利用各種繪圖軟件,對(duì)各種數(shù)據(jù)進(jìn)行分析后,根據(jù)實(shí)際情況進(jìn)行數(shù)據(jù)的有效取舍,然后將取舍后的有效數(shù)據(jù)進(jìn)行可視化分析和數(shù)據(jù)模擬,得到更加直觀的圖表信息作為專題要素反饋給該網(wǎng)站的鏈接用戶。通過(guò)Excel、Illustrator、Photoshop和matlab等軟件,可以很輕松將各種數(shù)據(jù)以圖表的形式表示出來(lái),例如GDP柱狀圖、收入比重餅圖以及房?jī)r(jià)走勢(shì)曲線圖。這樣使Web平臺(tái)的共享資源得到了充分的利用,也能通過(guò)本地?cái)?shù)據(jù)對(duì)其進(jìn)行校正和檢驗(yàn),在數(shù)據(jù)的完整性、現(xiàn)勢(shì)性上比起傳統(tǒng)地圖有了很大的提高,同時(shí)準(zhǔn)確性也有了一定的保障。
2.2.4 信息查詢和空間分析
信息查詢和空間分析功能是Mashup專題地圖的GIS功能的主要體現(xiàn)。當(dāng)輸入一定的查詢內(nèi)容之后,地圖API就根據(jù)服務(wù)器數(shù)據(jù)庫(kù)中的數(shù)據(jù)信息,將帶有關(guān)鍵內(nèi)容的查詢結(jié)果全部顯示給用戶。同時(shí)地圖上也會(huì)顯示出這些具體位置的標(biāo)記,點(diǎn)擊這些標(biāo)記可以進(jìn)一步獲取更加詳細(xì)的信息。
2.2.5 動(dòng)態(tài)數(shù)據(jù)的掛接
數(shù)據(jù)掛接功能的實(shí)現(xiàn)很好地解決了靜態(tài)數(shù)據(jù)的問(wèn)題,使Mashup專題地圖真正地“動(dòng)”了起來(lái)。通過(guò)JavaScript語(yǔ)言編程,可以很方便將一些數(shù)據(jù)信息和注記符號(hào)鏈接起來(lái)。需要注意的是這里的數(shù)據(jù)大都來(lái)自于不同的數(shù)據(jù)網(wǎng)站,是通過(guò)Web平臺(tái)來(lái)共享這些網(wǎng)絡(luò)信息的,當(dāng)然也可以將這些信息下載到本地上去。尤其是在地圖的現(xiàn)勢(shì)性和更新效率上有了質(zhì)的飛躍,改變以往“靜而不動(dòng)”的地圖特點(diǎn)。這種動(dòng)態(tài)的數(shù)據(jù)符號(hào)更符合當(dāng)今快節(jié)奏的現(xiàn)實(shí)生活,能夠很好地滿足人們對(duì)實(shí)時(shí)數(shù)據(jù)的需求。
2.2.6 交互功能的設(shè)計(jì)
最后是人機(jī)交互功能的設(shè)計(jì)。而地圖Mashup可以通過(guò)用戶對(duì)地圖標(biāo)記功能、信息反饋功能和地圖服務(wù)的調(diào)用完成在客戶端與Mashup主服務(wù)器的交互操作[9]。在專題要素中利用用戶可以通過(guò)設(shè)計(jì)的注記符號(hào)標(biāo)注任何自己感興趣的目標(biāo),而這些目標(biāo)都會(huì)記憶在Mashup網(wǎng)站的統(tǒng)計(jì)數(shù)據(jù)庫(kù)中,通過(guò)這些信息,開發(fā)者就能很好地去了解人們的大致欣賞品味、審美觀念和興趣愛好的共鳴之處,并設(shè)計(jì)出相應(yīng)專題要素信息,供用戶參閱和查詢,以滿足絕大多數(shù)用戶的需求。每個(gè)用戶的不同標(biāo)記都會(huì)反饋給開發(fā)者以不同的設(shè)計(jì)和制作理念,同時(shí)用戶也可以在圖上進(jìn)行自己的專題要素標(biāo)記設(shè)計(jì)和數(shù)據(jù)信息的補(bǔ)充,從而不斷地去完善地圖Mashup的數(shù)據(jù)庫(kù)系統(tǒng)。
本文設(shè)計(jì)的基于Google map API的Mashup專題地圖框架結(jié)構(gòu)如圖2所示。
圖2 基于Google map API的Mashup專題地圖的框架結(jié)構(gòu)
本文根據(jù)上述框架實(shí)現(xiàn)了鄭州市區(qū)和經(jīng)濟(jì)形勢(shì)有關(guān)的Mashup功能的地圖顯示,并將這些地圖發(fā)布在一個(gè)專題網(wǎng)站上,供用戶查詢使用。該Mashup專題地圖主要從鄭州市各個(gè)縣區(qū)的GDP、房?jī)r(jià)走勢(shì)、房產(chǎn)信息、旅游景點(diǎn)、旅游客流量、酒店住宿信息以及交通運(yùn)量等幾個(gè)方面進(jìn)行了數(shù)據(jù)的收集、篩選整理、分析,并通過(guò)Excel、Illustrator等軟件進(jìn)行了數(shù)據(jù)的模擬,完成了相關(guān)的圖標(biāo)和專題符號(hào)設(shè)計(jì),實(shí)現(xiàn)綜合性的Mashup功能,并在服務(wù)器端和客戶端進(jìn)行發(fā)布和使用。本文設(shè)計(jì)的Mashup專題地圖顯示如圖3、圖4所示。
部分代碼如下:
1)由于Mashup專題地圖的多種優(yōu)點(diǎn),對(duì)傳統(tǒng)地圖有了很大的沖擊,但是地圖Mashup尚處在一個(gè)萌芽階段,各個(gè)方面還都不夠完善。內(nèi)容供應(yīng)者也只是剛剛開始看到為基于機(jī)器的內(nèi)容訪問(wèn)提供API的價(jià)值所在,安全問(wèn)題并未得到足夠的重視。用戶的敏感隱私數(shù)據(jù)方面以及一些多維參數(shù)的隱私保護(hù)空間,需要可用于識(shí)別驗(yàn)證用戶身份和相應(yīng)的保護(hù)策略、允許訪問(wèn)操作等。
2)地圖Mashup專題地圖中數(shù)據(jù)的融合是一個(gè)關(guān)鍵,但是由于各種數(shù)據(jù)格式和接口都不完全相同,這造成了Mashup數(shù)據(jù)集成方面充滿挑戰(zhàn),主要是語(yǔ)義和數(shù)據(jù)的質(zhì)量。一方面是缺少數(shù)據(jù)和數(shù)據(jù)映射不完整;另一方面,數(shù)據(jù)并不適合進(jìn)行機(jī)器自動(dòng)化處理,還有由于獲取數(shù)據(jù)必須采用屏幕抓取技術(shù)而引起的數(shù)據(jù)污染問(wèn)題。
此外,Mashup專題地圖的設(shè)計(jì)目標(biāo)是讓普通用戶能夠開發(fā)自己的Mashup地圖應(yīng)用,但是現(xiàn)有的Mashup開發(fā)工具仍然需要具有一定專業(yè)知識(shí)的人員才能進(jìn)行無(wú)障礙的開發(fā)[10]。
Mashup技術(shù)興起的如今,具有更多更廣泛功能的Mashup專題地圖越來(lái)越受到人們的青睞。首先,不論是從地圖功能的實(shí)現(xiàn)上,還是信息數(shù)據(jù)的地圖表達(dá)上,Mashup專題地圖都有了天然的優(yōu)勢(shì)特點(diǎn),這對(duì)專題地圖的發(fā)展是一個(gè)極大的促進(jìn)作用;其次,Mashup專題地圖有豐富的資源信息量,更令人眼前一亮的就是視頻和音頻等超媒體數(shù)據(jù)也將作為一種新的專題要素添加到地圖當(dāng)中。最后,Mashup在Web平臺(tái)上的“大眾化”地圖體驗(yàn)是地圖學(xué)發(fā)展的一個(gè)不錯(cuò)的開端,它令更多的用戶參與到具體地圖的更新與維護(hù)當(dāng)中,給地圖學(xué)以更大的發(fā)展空間。
基于Google map API的Mashup專題地圖是一種比較典型的共享資源的二次開發(fā),它擁有巨大的挖掘潛力,其在各行各業(yè)中的廣泛應(yīng)用以及針對(duì)不同部門中內(nèi)容的專業(yè)性和針對(duì)性,再加上有互聯(lián)網(wǎng)絡(luò)這個(gè)資源平臺(tái),令其在地圖信息承載量和現(xiàn)勢(shì)性方面上有了質(zhì)的飛躍,具有很廣闊的發(fā)展前景。
[1]秦靈伶,王文東,賈霞,等.Mashup技術(shù)及其發(fā)展趨勢(shì)[J].電信科學(xué),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地圖服務(wù)設(shè)計(jì)與實(shí)踐[J].測(cè)繪技術(shù)學(xué)報(bào),2007,12(24):56-58.
[4]高永兵,吳紀(jì)磊,胡文江,等.基于 Web服務(wù)的 Mashup應(yīng)用的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2010,20(6):137-140.
[5]龍?jiān)兰t.地圖Mashup的研究與實(shí)現(xiàn)[D].長(zhǎng)沙:中南大學(xué),2008.
[6]劉萬(wàn)青,劉詠梅,袁堪省.數(shù)字專題地圖[M].北京:科學(xué)出版社,2007.
[7]桂智明,晏磊.基于XML Web Service體系的網(wǎng)絡(luò)地圖服務(wù)[J].測(cè)繪通報(bào),2003(1):53-55.
[8]戴兵.基于Google Maps API的校園地圖設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2008(2):184-185.
[9]李峰,李春旺.Mashup關(guān)鍵技術(shù)研究[J].現(xiàn)代圖書情報(bào)技術(shù),2009(1):44-49.