廖 明,廖明偉,錢新林
(1.江西省基礎地理信息中心,江西南昌330046;2.武漢大學遙感信息工程學院,湖北武漢430079;3.武漢大學測繪遙感信息工程重點實驗室,湖北武漢430079)
地理信息規模化公眾應用是地理信息產業大發展的必要前提和必然趨勢。天地圖作為面向大眾的互聯網地理信息公共平臺,快速擴展其社會化應用是目前的工作要點之一。在Web2.0的網絡時代,用戶參與創建已經是互聯網應用流行的最大推動力,微博、社交網絡的風靡就是最好的例證。手持智能設備(智能手機、平板電腦)的普及,移動互聯網(3G、4G)的迅猛發展,更是讓用戶能隨時隨地接入互聯網應用。一個發展趨勢是:地理信息從部門與部門之間共建共享,擴展到公眾之間的信息共享;讓公眾在使用地圖瀏覽和要素查詢的同時,還能參與天地圖的地理信息數據創建,從而激發用戶熱情以推動天地圖的流行;用公眾頭腦中豐富而及時的地理知識來彌補基礎測繪數據庫更新速度和社會經濟屬性缺少的缺陷;改變公共版數據集的生產模式,將測繪專業人員從“作者”變為“編輯”——從以數據生產為主,轉變為更多地進行地理信息的匯總、審核、挖掘工作。
當代GIS從系統演變為服務,云計算技術的提出,使Web Service平臺可方便地實現與包括智能手機在內的傳感器網相連[1]。云計算方案解決了服務端計算和存儲能力的問題,然而網絡傳輸速度和客戶端性能的限制依然存在。目前天地圖提供的主要是基于柵格瓦片的地圖服務和影像服務。柵格技術簡單成熟,能快速響應可視化,但呈現出很大的局限性,在高交互性環境[2]、Web 制圖[3]、自發地理信息(VGI)[4]等很多應用環境中并不適合。而天地圖目前提供的Web要素服務主要執行OGC WFS規范,缺乏類似瓦片數據的分級分片機制[5],隨著全省數據的建庫拼接與實體化,大區域矢量數據的網絡傳輸以及在客戶端(瀏覽器、移動設備)交互的性能難以提供良好的用戶體驗。天地圖·江西手機版即將推出,移動手持設備環境中的無線網絡速度、硬件繪圖性能、顯示屏幕的大小比普通互聯網用戶的條件更加受限,類似的矛盾將更加突出。本文提出了一種多尺度Web要素服務,其具備類似柵格瓦片分級分片的數據表達結構,滿足全省大區域矢量數據的在線瀏覽請求的快速響應的優點;同時又彌補了柵格瓦片的靜態缺陷,允許用戶以矢量數據的形式進行符號的個性化定制,以及對數據進行在線編輯維護。
傳統的數據生產中,地理空間數據庫由多幅文件數據通過無縫拼接、拓撲檢查等處理而生成,其特點有:①數據集總量很大,覆蓋的區域范圍可以很廣;②存在橫跨大區域的大幾何要素,這種要素所含頂點數很多。例如1∶10 000江西省地級市界數據,總頂點數為300多萬,其中表示地級市行政區的一個多邊形對象,頂點數少則有10萬,多則有40萬。全球高分辨率海岸線數據(GSHHS),其頂點總數為1000萬級別,最大的多邊形頂點數達100萬級別。無限的數據集的增長與有限的硬件性能之間永遠存在矛盾,這一矛盾在新地理信息時代[6]Web2.0環境中表現得更加明顯。例如在VGI應用中,地理要素的幾何對象隨著持續性的多用戶分布式編輯變得愈加詳細而復雜[1],細節豐富程度具有不斷增加的趨勢。由于圖面表達、渲染性能和網絡傳輸的限制,整個數據集的一次性提供,甚至是單個大要素的一次性提供,將難以支持用戶高交互性體驗。有必要讓用戶根據自己的可視化條件來調整服務請求所返回的要素結果集大小。
從用戶可視化條件和需求來看:①當前屏幕的可視范圍一般在一個窗口范圍中,范圍之外的不可見要素一般并不是用戶在當前視圖下所關心的內容;②用戶的眼中沒有比例尺的概念,隨著視點向地面的靠近,觀察者希望看到逐漸清晰的地表細節;反之,隨著視點的遠離,將會看到不斷抽象的地形表面,這是人用眼睛觀察時的自然規律。在柵格化輸出的顯示設備中,隨著顯示比例尺的縮小,原來分離的頂點在屏幕上的間距將縮小,當其間距低于屏幕分辨率時,人眼將不能區分,重合的多點顯示將失去意義;③用戶希望能根據網絡傳輸速度和瀏覽器端的軟硬件性能來自定義調整返回數據集的大小。圖形渲染性能好、網速快的客戶端環境,可以返回細節更為詳細的要素集;反之則可以選擇適當犧牲細節程度來保證執行性能。
多尺度表達的Web要素服務中需要定義與尺度相關的請求參數。在GIS相關學科的應用中,尺度一般有3種含義[7]。在制圖中的尺度意義為比例尺。對于數據集,尺度的意義指數據區域的范圍(Extent)和數據的分辨率(Resolution)。矢量數據的分辨率定義則有較多含義,尤其是對于面狀區域。一般有4種形式:邊界線最小寬度、邊界線頂點采樣密度、區域內同質性變化限值、區域面積尺寸。
本文選擇3個與尺度相關的指標參數,便于用戶根據自身可視化條件進行服務請求。
1)EXT(Extent),表示用戶興趣區域范圍的最小外接矩形。例如,實際應用中可表示為用戶當前屏幕可視范圍映射的地面區域。
2)RES(Resolution),表示用戶可容忍的數據分辨率。例如,某個顯示比例尺下屏幕分辨率對應的地面距離。
3)VNUM(Vertice Number),表示返回結果集的頂點數上限值。因為大幾何要素的存在,要素的數目難以作為數據集大小的衡量指標。對于某一種幾何類型要素,頂點數目可較為直接地反映要素集的大小,以及客戶端圖形渲染的需求。
數據集尺度包括范圍與分辨率兩方面,因此多尺度表達主要表現為截窗查詢和多分辨率查詢。目前,地理數據庫能夠利用空間索引高性能地處理海量幾何數據集的截窗查詢。但從用戶視角和數據冗余處理出發,在保證要素滿屏可視化的條件下,可分為Intersect操作和Clip操作。兩者區別在于跨窗口邊界處要素的處理方式,Intersect方式將與邊界有交集的要素整個部分都選入結果集(如圖1(b)所示。通過前面分析可知,當存在大幾何要素只有小部分在窗口范圍內的情形時,要素在外部的頂點嚴重多余的。Clip方式用窗口矩形對邊界要素進行裁切,避免了上述問題,但是會產生語義上的變化。如文獻[8]中所述,一個幾何對象被分割成了多個;而且對于多邊形對象,邊界要素不利于進行頂點編輯,因為窗口邊界線部分成為了多邊形的邊線,而它并不是原始邊,不宜參與編輯,如圖1(c)粗黑線所示。總之,缺乏對查詢結果集進行綜合與簡化的細粒度控制,需要多尺度表達的數據結構來改進。

圖1 窗口與采樣查詢
多尺度表達數據結構DBLG-tree采用DP算法構建,保存頂點與基線的偏移量,將線頂點由線性存儲轉變為樹形結構存儲(如圖2所示)。

圖2 線的DBLG-tree表示
DBLG-tree具備以下優點:①支持要素的多尺度表達的結構;②支持大幾何對象的低冗余的截窗查詢,查詢結果如圖1(a)所示;③支持幾何對象編輯;④能通過算法自動同步重構幾何對象的多尺度結構,保證編輯后多尺度表達的一致性;⑤支持大幾何對象的局部多尺度重構,而不僅僅是整體重構;⑥能保持要素拓撲和語義信息。
從用戶的視角來看,范圍、分辨率和頂點數3者是具有內在相關性的。頂點數與范圍、分辨率成正比關系。頂點數與客戶端執行性能直接相關,在既定范圍和分辨率條件下,頂點數超標時,需要對次要對象進行舍棄。流程見圖3,定義原始要素集為S,過程要素集為S',單個要素的幾何對象為g,查詢范圍為EXT,分辨率為RES,頂點數上限為VNUM。
在要素取舍時,可依據重要性對幾何對象進行排序,然后實行末位淘汰制。考慮制圖綜合的精化原則,在結果集中選擇出重要的幾何對象,同時控制結果集大小與對象分布的均勻性。可采用頂點直方圖選擇算法[1]。

圖3 多尺度要素服務實現方案流程
試驗數據為“全球高分辨率海岸線數據”(GSHHS),數據集頂點總數為10348493,最大頂點數多邊形(亞歐大陸海岸線)頂點數為1 181 126。計算機硬件配置:Intel CORE i3 2.53GHz處理器,4GB DDR3 1067 MHz內存,Nvidia Geforce 310Mx顯卡(512 M顯存)。系統架構見圖4(圖中方框內右下角的斜體部分為該模塊的實現技術)。服務器端使用Java Servlet實現GetFeatureWithScale接口,用Apache-Tomcat進行發布。服務器與瀏覽器之間的通信使用AJAX異步請求,一個請求實例為

其中,EXT參數值為SVG窗口在當前視圖下對應的地理坐標值;RES參數值為屏幕1個像素分辨率在當前顯示比例尺下對應的實際地面長度;VNUM參數值為輸出結果集的頂點數上限。
瀏覽器端通過JavaScript腳本將JSON編碼解析成SVG文檔,對二維矢量圖形進行可視化;JavaS-cript代碼完成SVG消息事件相應,以實現用戶交互(視窗縮放、平移、結點編輯等);底圖調用天地圖提供的Web地圖服務或Web柵格服務進行匹配,以方便驗證數據集的可視化效果。

圖4 系統架構圖
在視圖縮放過程中,將針對不同的范圍尺度的請求數據,其可視化效果如圖5所示。該組圖依次為亞歐大陸海岸線在世界范圍尺度、國家范圍尺度、地區范圍尺度的效果,直至能清楚辨析海岸線細節的尺度時,進入多邊形頂點編輯狀態(如圖5(d)所示)。

圖5 亞歐大陸海岸線的各個尺度
在視圖移屏過程中(如圖6所示),視圖從View1位置移動到View2位置。在移動的過程中,黑實線區域仍然會有簡化的圖形填充;移屏結束后,該區域的細節部分再進行補充,與漸進傳輸效果類似。在整個移屏過程中,視窗內將不會出現空白區域,給用戶較好的交互體驗。

圖6 移屏補償效果
在試驗中,屏幕窗口大小為1280×768像素,頂點上限數20 000,分辨率為屏幕1個像素(使用時根據顯示比例尺換算成數據集坐標單位的距離)。在對SVG視圖進行縮放時,Servlet執行時間隨窗口面積(請求的數據范圍)而變化,變化的趨勢如圖7所示。可見,隨著窗口范圍的擴大,該方案在服務器端的執行時間持續下降且漸趨平穩。可認為該方案的執行性能具備與范圍尺度無關的特性,執行的絕對時間在10 ms級別。

圖7 Servlet執行時間和范圍尺度的相關性
在瀏覽器端,Firefox、Safari、Chrome、IE9 目前都對SVG提供原生支持。Firefox由于SVG渲染效率太低,無法交互使用;Safari、Chrome、IE9瀏覽器對SVG渲染性能較好。試驗經驗表明:頂點數限制在20 000個點以內,Chrome瀏覽器端的SVG的繪制時間約為1 s左右。文獻[9]中對 SVG、Flash、Canvas等幾種Web矢量繪圖技術在瀏覽器中的繪圖性能評估顯示,在其他條件相同的情況下,不同的瀏覽器其繪圖時間差距能達到5倍。而這種差異性只是用戶可視化條件差異的組成因素之一,這也從一個方面印證了用戶在多尺度Web要素服務請求中根據自身條件定制頂點數、控制要素集大小的必要性。
擴展天地圖應用領域,為Web2.0環境下基于矢量數據的應用提供了基礎服務支持。從允許用戶根據可視化條件定制數據集大小的需求出發,定義了多尺度Web要素服務,以及與尺度相關的3個基本參數(范圍、分辨率、頂點數)。從數據庫數據集的特性和Web應用需求出發,分析了支持多尺度表達的數據結構基本條件和要求。基于多尺度表達數據結構給出Web要素服務的一種實現方案。使用Java Servlet、Ajax和SVG開發了原型系統,該系統通過請求多尺度Web要素服務提供的數據集,支持了矢量Web地圖可視化和頂點編輯應用。試驗統計數據顯示該方案在服務器端的執行性能具有與尺度無關的優良特性。同時用戶通過對頂點數的定制,可在不同的可視化條件下實現及時的操作響應和良好的交互體驗。
[1]李德仁,錢新林.淺論自發地理信息的數據管理[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].華東六省一市測繪學會第十一次學術交流會論文集,2009.