廖 明,廖明偉,錢新林
(1.江西省基礎(chǔ)地理信息中心,江西南昌330046;2.武漢大學遙感信息工程學院,湖北武漢430079;3.武漢大學測繪遙感信息工程重點實驗室,湖北武漢430079)
地理信息規(guī)模化公眾應(yīng)用是地理信息產(chǎn)業(yè)大發(fā)展的必要前提和必然趨勢。天地圖作為面向大眾的互聯(lián)網(wǎng)地理信息公共平臺,快速擴展其社會化應(yīng)用是目前的工作要點之一。在Web2.0的網(wǎng)絡(luò)時代,用戶參與創(chuàng)建已經(jīng)是互聯(lián)網(wǎng)應(yīng)用流行的最大推動力,微博、社交網(wǎng)絡(luò)的風靡就是最好的例證。手持智能設(shè)備(智能手機、平板電腦)的普及,移動互聯(lián)網(wǎng)(3G、4G)的迅猛發(fā)展,更是讓用戶能隨時隨地接入互聯(lián)網(wǎng)應(yīng)用。一個發(fā)展趨勢是:地理信息從部門與部門之間共建共享,擴展到公眾之間的信息共享;讓公眾在使用地圖瀏覽和要素查詢的同時,還能參與天地圖的地理信息數(shù)據(jù)創(chuàng)建,從而激發(fā)用戶熱情以推動天地圖的流行;用公眾頭腦中豐富而及時的地理知識來彌補基礎(chǔ)測繪數(shù)據(jù)庫更新速度和社會經(jīng)濟屬性缺少的缺陷;改變公共版數(shù)據(jù)集的生產(chǎn)模式,將測繪專業(yè)人員從“作者”變?yōu)椤熬庉嫛薄獜囊詳?shù)據(jù)生產(chǎn)為主,轉(zhuǎn)變?yōu)楦嗟剡M行地理信息的匯總、審核、挖掘工作。
當代GIS從系統(tǒng)演變?yōu)榉?wù),云計算技術(shù)的提出,使Web Service平臺可方便地實現(xiàn)與包括智能手機在內(nèi)的傳感器網(wǎng)相連[1]。云計算方案解決了服務(wù)端計算和存儲能力的問題,然而網(wǎng)絡(luò)傳輸速度和客戶端性能的限制依然存在。目前天地圖提供的主要是基于柵格瓦片的地圖服務(wù)和影像服務(wù)。柵格技術(shù)簡單成熟,能快速響應(yīng)可視化,但呈現(xiàn)出很大的局限性,在高交互性環(huán)境[2]、Web 制圖[3]、自發(fā)地理信息(VGI)[4]等很多應(yīng)用環(huán)境中并不適合。而天地圖目前提供的Web要素服務(wù)主要執(zhí)行OGC WFS規(guī)范,缺乏類似瓦片數(shù)據(jù)的分級分片機制[5],隨著全省數(shù)據(jù)的建庫拼接與實體化,大區(qū)域矢量數(shù)據(jù)的網(wǎng)絡(luò)傳輸以及在客戶端(瀏覽器、移動設(shè)備)交互的性能難以提供良好的用戶體驗。天地圖·江西手機版即將推出,移動手持設(shè)備環(huán)境中的無線網(wǎng)絡(luò)速度、硬件繪圖性能、顯示屏幕的大小比普通互聯(lián)網(wǎng)用戶的條件更加受限,類似的矛盾將更加突出。本文提出了一種多尺度Web要素服務(wù),其具備類似柵格瓦片分級分片的數(shù)據(jù)表達結(jié)構(gòu),滿足全省大區(qū)域矢量數(shù)據(jù)的在線瀏覽請求的快速響應(yīng)的優(yōu)點;同時又彌補了柵格瓦片的靜態(tài)缺陷,允許用戶以矢量數(shù)據(jù)的形式進行符號的個性化定制,以及對數(shù)據(jù)進行在線編輯維護。
傳統(tǒng)的數(shù)據(jù)生產(chǎn)中,地理空間數(shù)據(jù)庫由多幅文件數(shù)據(jù)通過無縫拼接、拓撲檢查等處理而生成,其特點有:①數(shù)據(jù)集總量很大,覆蓋的區(qū)域范圍可以很廣;②存在橫跨大區(qū)域的大幾何要素,這種要素所含頂點數(shù)很多。例如1∶10 000江西省地級市界數(shù)據(jù),總頂點數(shù)為300多萬,其中表示地級市行政區(qū)的一個多邊形對象,頂點數(shù)少則有10萬,多則有40萬。全球高分辨率海岸線數(shù)據(jù)(GSHHS),其頂點總數(shù)為1000萬級別,最大的多邊形頂點數(shù)達100萬級別。無限的數(shù)據(jù)集的增長與有限的硬件性能之間永遠存在矛盾,這一矛盾在新地理信息時代[6]Web2.0環(huán)境中表現(xiàn)得更加明顯。例如在VGI應(yīng)用中,地理要素的幾何對象隨著持續(xù)性的多用戶分布式編輯變得愈加詳細而復(fù)雜[1],細節(jié)豐富程度具有不斷增加的趨勢。由于圖面表達、渲染性能和網(wǎng)絡(luò)傳輸?shù)南拗疲麄€數(shù)據(jù)集的一次性提供,甚至是單個大要素的一次性提供,將難以支持用戶高交互性體驗。有必要讓用戶根據(jù)自己的可視化條件來調(diào)整服務(wù)請求所返回的要素結(jié)果集大小。
從用戶可視化條件和需求來看:①當前屏幕的可視范圍一般在一個窗口范圍中,范圍之外的不可見要素一般并不是用戶在當前視圖下所關(guān)心的內(nèi)容;②用戶的眼中沒有比例尺的概念,隨著視點向地面的靠近,觀察者希望看到逐漸清晰的地表細節(jié);反之,隨著視點的遠離,將會看到不斷抽象的地形表面,這是人用眼睛觀察時的自然規(guī)律。在柵格化輸出的顯示設(shè)備中,隨著顯示比例尺的縮小,原來分離的頂點在屏幕上的間距將縮小,當其間距低于屏幕分辨率時,人眼將不能區(qū)分,重合的多點顯示將失去意義;③用戶希望能根據(jù)網(wǎng)絡(luò)傳輸速度和瀏覽器端的軟硬件性能來自定義調(diào)整返回數(shù)據(jù)集的大小。圖形渲染性能好、網(wǎng)速快的客戶端環(huán)境,可以返回細節(jié)更為詳細的要素集;反之則可以選擇適當犧牲細節(jié)程度來保證執(zhí)行性能。
多尺度表達的Web要素服務(wù)中需要定義與尺度相關(guān)的請求參數(shù)。在GIS相關(guān)學科的應(yīng)用中,尺度一般有3種含義[7]。在制圖中的尺度意義為比例尺。對于數(shù)據(jù)集,尺度的意義指數(shù)據(jù)區(qū)域的范圍(Extent)和數(shù)據(jù)的分辨率(Resolution)。矢量數(shù)據(jù)的分辨率定義則有較多含義,尤其是對于面狀區(qū)域。一般有4種形式:邊界線最小寬度、邊界線頂點采樣密度、區(qū)域內(nèi)同質(zhì)性變化限值、區(qū)域面積尺寸。
本文選擇3個與尺度相關(guān)的指標參數(shù),便于用戶根據(jù)自身可視化條件進行服務(wù)請求。
1)EXT(Extent),表示用戶興趣區(qū)域范圍的最小外接矩形。例如,實際應(yīng)用中可表示為用戶當前屏幕可視范圍映射的地面區(qū)域。
2)RES(Resolution),表示用戶可容忍的數(shù)據(jù)分辨率。例如,某個顯示比例尺下屏幕分辨率對應(yīng)的地面距離。
3)VNUM(Vertice Number),表示返回結(jié)果集的頂點數(shù)上限值。因為大幾何要素的存在,要素的數(shù)目難以作為數(shù)據(jù)集大小的衡量指標。對于某一種幾何類型要素,頂點數(shù)目可較為直接地反映要素集的大小,以及客戶端圖形渲染的需求。
數(shù)據(jù)集尺度包括范圍與分辨率兩方面,因此多尺度表達主要表現(xiàn)為截窗查詢和多分辨率查詢。目前,地理數(shù)據(jù)庫能夠利用空間索引高性能地處理海量幾何數(shù)據(jù)集的截窗查詢。但從用戶視角和數(shù)據(jù)冗余處理出發(fā),在保證要素滿屏可視化的條件下,可分為Intersect操作和Clip操作。兩者區(qū)別在于跨窗口邊界處要素的處理方式,Intersect方式將與邊界有交集的要素整個部分都選入結(jié)果集(如圖1(b)所示。通過前面分析可知,當存在大幾何要素只有小部分在窗口范圍內(nèi)的情形時,要素在外部的頂點嚴重多余的。Clip方式用窗口矩形對邊界要素進行裁切,避免了上述問題,但是會產(chǎn)生語義上的變化。如文獻[8]中所述,一個幾何對象被分割成了多個;而且對于多邊形對象,邊界要素不利于進行頂點編輯,因為窗口邊界線部分成為了多邊形的邊線,而它并不是原始邊,不宜參與編輯,如圖1(c)粗黑線所示。總之,缺乏對查詢結(jié)果集進行綜合與簡化的細粒度控制,需要多尺度表達的數(shù)據(jù)結(jié)構(gòu)來改進。
圖1 窗口與采樣查詢
多尺度表達數(shù)據(jù)結(jié)構(gòu)DBLG-tree采用DP算法構(gòu)建,保存頂點與基線的偏移量,將線頂點由線性存儲轉(zhuǎn)變?yōu)闃湫谓Y(jié)構(gòu)存儲(如圖2所示)。
圖2 線的DBLG-tree表示
DBLG-tree具備以下優(yōu)點:①支持要素的多尺度表達的結(jié)構(gòu);②支持大幾何對象的低冗余的截窗查詢,查詢結(jié)果如圖1(a)所示;③支持幾何對象編輯;④能通過算法自動同步重構(gòu)幾何對象的多尺度結(jié)構(gòu),保證編輯后多尺度表達的一致性;⑤支持大幾何對象的局部多尺度重構(gòu),而不僅僅是整體重構(gòu);⑥能保持要素拓撲和語義信息。
從用戶的視角來看,范圍、分辨率和頂點數(shù)3者是具有內(nèi)在相關(guān)性的。頂點數(shù)與范圍、分辨率成正比關(guān)系。頂點數(shù)與客戶端執(zhí)行性能直接相關(guān),在既定范圍和分辨率條件下,頂點數(shù)超標時,需要對次要對象進行舍棄。流程見圖3,定義原始要素集為S,過程要素集為S',單個要素的幾何對象為g,查詢范圍為EXT,分辨率為RES,頂點數(shù)上限為VNUM。
在要素取舍時,可依據(jù)重要性對幾何對象進行排序,然后實行末位淘汰制??紤]制圖綜合的精化原則,在結(jié)果集中選擇出重要的幾何對象,同時控制結(jié)果集大小與對象分布的均勻性??刹捎庙旤c直方圖選擇算法[1]。
圖3 多尺度要素服務(wù)實現(xiàn)方案流程
試驗數(shù)據(jù)為“全球高分辨率海岸線數(shù)據(jù)”(GSHHS),數(shù)據(jù)集頂點總數(shù)為10348493,最大頂點數(shù)多邊形(亞歐大陸海岸線)頂點數(shù)為1 181 126。計算機硬件配置:Intel CORE i3 2.53GHz處理器,4GB DDR3 1067 MHz內(nèi)存,Nvidia Geforce 310Mx顯卡(512 M顯存)。系統(tǒng)架構(gòu)見圖4(圖中方框內(nèi)右下角的斜體部分為該模塊的實現(xiàn)技術(shù))。服務(wù)器端使用Java Servlet實現(xiàn)GetFeatureWithScale接口,用Apache-Tomcat進行發(fā)布。服務(wù)器與瀏覽器之間的通信使用AJAX異步請求,一個請求實例為
其中,EXT參數(shù)值為SVG窗口在當前視圖下對應(yīng)的地理坐標值;RES參數(shù)值為屏幕1個像素分辨率在當前顯示比例尺下對應(yīng)的實際地面長度;VNUM參數(shù)值為輸出結(jié)果集的頂點數(shù)上限。
瀏覽器端通過JavaScript腳本將JSON編碼解析成SVG文檔,對二維矢量圖形進行可視化;JavaS-cript代碼完成SVG消息事件相應(yīng),以實現(xiàn)用戶交互(視窗縮放、平移、結(jié)點編輯等);底圖調(diào)用天地圖提供的Web地圖服務(wù)或Web柵格服務(wù)進行匹配,以方便驗證數(shù)據(jù)集的可視化效果。
圖4 系統(tǒng)架構(gòu)圖
在視圖縮放過程中,將針對不同的范圍尺度的請求數(shù)據(jù),其可視化效果如圖5所示。該組圖依次為亞歐大陸海岸線在世界范圍尺度、國家范圍尺度、地區(qū)范圍尺度的效果,直至能清楚辨析海岸線細節(jié)的尺度時,進入多邊形頂點編輯狀態(tài)(如圖5(d)所示)。
圖5 亞歐大陸海岸線的各個尺度
在視圖移屏過程中(如圖6所示),視圖從View1位置移動到View2位置。在移動的過程中,黑實線區(qū)域仍然會有簡化的圖形填充;移屏結(jié)束后,該區(qū)域的細節(jié)部分再進行補充,與漸進傳輸效果類似。在整個移屏過程中,視窗內(nèi)將不會出現(xiàn)空白區(qū)域,給用戶較好的交互體驗。
圖6 移屏補償效果
在試驗中,屏幕窗口大小為1280×768像素,頂點上限數(shù)20 000,分辨率為屏幕1個像素(使用時根據(jù)顯示比例尺換算成數(shù)據(jù)集坐標單位的距離)。在對SVG視圖進行縮放時,Servlet執(zhí)行時間隨窗口面積(請求的數(shù)據(jù)范圍)而變化,變化的趨勢如圖7所示??梢姡S著窗口范圍的擴大,該方案在服務(wù)器端的執(zhí)行時間持續(xù)下降且漸趨平穩(wěn)??烧J為該方案的執(zhí)行性能具備與范圍尺度無關(guān)的特性,執(zhí)行的絕對時間在10 ms級別。
圖7 Servlet執(zhí)行時間和范圍尺度的相關(guān)性
在瀏覽器端,F(xiàn)irefox、Safari、Chrome、IE9 目前都對SVG提供原生支持。Firefox由于SVG渲染效率太低,無法交互使用;Safari、Chrome、IE9瀏覽器對SVG渲染性能較好。試驗經(jīng)驗表明:頂點數(shù)限制在20 000個點以內(nèi),Chrome瀏覽器端的SVG的繪制時間約為1 s左右。文獻[9]中對 SVG、Flash、Canvas等幾種Web矢量繪圖技術(shù)在瀏覽器中的繪圖性能評估顯示,在其他條件相同的情況下,不同的瀏覽器其繪圖時間差距能達到5倍。而這種差異性只是用戶可視化條件差異的組成因素之一,這也從一個方面印證了用戶在多尺度Web要素服務(wù)請求中根據(jù)自身條件定制頂點數(shù)、控制要素集大小的必要性。
擴展天地圖應(yīng)用領(lǐng)域,為Web2.0環(huán)境下基于矢量數(shù)據(jù)的應(yīng)用提供了基礎(chǔ)服務(wù)支持。從允許用戶根據(jù)可視化條件定制數(shù)據(jù)集大小的需求出發(fā),定義了多尺度Web要素服務(wù),以及與尺度相關(guān)的3個基本參數(shù)(范圍、分辨率、頂點數(shù))。從數(shù)據(jù)庫數(shù)據(jù)集的特性和Web應(yīng)用需求出發(fā),分析了支持多尺度表達的數(shù)據(jù)結(jié)構(gòu)基本條件和要求?;诙喑叨缺磉_數(shù)據(jù)結(jié)構(gòu)給出Web要素服務(wù)的一種實現(xiàn)方案。使用Java Servlet、Ajax和SVG開發(fā)了原型系統(tǒng),該系統(tǒng)通過請求多尺度Web要素服務(wù)提供的數(shù)據(jù)集,支持了矢量Web地圖可視化和頂點編輯應(yīng)用。試驗統(tǒng)計數(shù)據(jù)顯示該方案在服務(wù)器端的執(zhí)行性能具有與尺度無關(guān)的優(yōu)良特性。同時用戶通過對頂點數(shù)的定制,可在不同的可視化條件下實現(xiàn)及時的操作響應(yīng)和良好的交互體驗。
[1]李德仁,錢新林.淺論自發(fā)地理信息的數(shù)據(jù)管理[J].武漢大學學報:信息科學版,2010,35(4):379-383.
[2]ZHAO Haixia,SHNEIDERMAN B.Colour-coded Pixelbased Highly Interactive Web Mapping for Georeferenced Data Exploration[J].International Journal of Geographical Information Science,2005,19(4):413-428.
[3]CECCONI A,WEIBEL R,BARRAULL C.Improving Automated Generalization for On-Demand Web Mapping by Multiscale Databases[R].Berlin:Springer,2002:515-531.
[4]QIAN Xinlin,DI Liping,LI Deren,et al.Data Cleaning Approaches in Web2.0 VGI Application[C]∥Geoinformatics,2009 17th International Conference on.Virgirna:[s.n.],2009:1-4.
[5]李德仁,邵振峰.論新地理信息時代[J].中國科學(F輯:信息科學),2009(6):579-587.
[6]GOODCHILD M F.Scale in GIS:An Overview[J].Geomorphology,2011,130(1-2):5-9.
[7]ANTONIOU V,MORLEY J,HAFLAY M.Tiled Vectors:A Method for Vector Transmission Over the Web[J].Web and Wireless Geographical Information Systems,2009(5886):56-71.
[8]廖明,潘媛芳.WebGIS矢量地圖繪制方法的性能比較分析[J].華東六省一市測繪學會第十一次學術(shù)交流會論文集,2009.