甘宗平
(1.中山市基礎(chǔ)地理信息中心,廣東 中山 528400)
基于服務(wù)式GIS建設(shè)“一張圖”系統(tǒng)的關(guān)鍵技術(shù)
甘宗平1
(1.中山市基礎(chǔ)地理信息中心,廣東 中山 528400)
設(shè)計了基于服務(wù)式GIS建設(shè)國土資源“一張圖”系統(tǒng)的總體架構(gòu);并從區(qū)域權(quán)限、地圖服務(wù)設(shè)計、加密數(shù)據(jù)空間計算、數(shù)據(jù)庫動態(tài)更新和地圖瓦片管理等方面探討了其中涉及的關(guān)鍵技術(shù),為其他類似系統(tǒng)的建設(shè)提供技術(shù)參考。
一張圖;服務(wù)式GIS;信息共享
國土資源“一張圖”系統(tǒng)是由國土部門主導(dǎo)建設(shè)的,對國土資源的行政活動進(jìn)行實現(xiàn)與管理的綜合性GIS平臺。它以國土部門多源地理數(shù)據(jù)服務(wù)為依托,按照國土資源業(yè)務(wù)需求對地圖服務(wù)進(jìn)行組合,并為其提供數(shù)據(jù)基礎(chǔ)。該系統(tǒng)的建設(shè)就是要搭建國土資源數(shù)據(jù)交換平臺,實現(xiàn)包括異構(gòu)GIS平臺在內(nèi)的國土資源信息共享應(yīng)用。隨著GIS技術(shù)的發(fā)展,一種全新的基于服務(wù)的GIS技術(shù)為建設(shè)“一張圖”系統(tǒng)提供了好的解決方案[1]。該技術(shù)可將國土資源系統(tǒng)中所有數(shù)據(jù)和功能在適當(dāng)?shù)牧6认逻M(jìn)行分解并封裝為GIS服務(wù),以實現(xiàn)降低開發(fā)難度、數(shù)據(jù)共享與功能共享并舉、一次開發(fā)多次利用的目的?;诜?wù)式GIS技術(shù)開發(fā)的中山市國土資源“一張圖”系統(tǒng)在實際運用中效果顯著,極大地提高了對各類數(shù)據(jù)的管理與相關(guān)業(yè)務(wù)的處理能力。
服務(wù)式GIS,就是把SOA架構(gòu)、Web Services等相關(guān)理念和技術(shù)應(yīng)用到GIS中,形成Services GIS[2]。面向服務(wù)的GIS架構(gòu)設(shè)計相對于傳統(tǒng)的面向系統(tǒng)的體系架構(gòu)(EOA)來說,在GIS設(shè)計中主要有兩方面積極作用:①對外提供符合OGC標(biāo)準(zhǔn)的服務(wù)接口可對各種GIS功能進(jìn)行封裝,簡化模塊的實現(xiàn);②降低各GIS基本功能模塊間的耦合性,提高組合性和移植性,可形成更豐富的復(fù)雜功能[3]。本文采用SOA模式和分層思想對國土資源“一張圖”系統(tǒng)進(jìn)行分層,其架構(gòu)如圖1所示[4]。應(yīng)用層主要是國土資源“一張圖”軟件平臺及運行維護(hù)支持系統(tǒng)。網(wǎng)絡(luò)服務(wù)層包含兩大類,數(shù)據(jù)服務(wù)和業(yè)務(wù)模型服務(wù)采用Web Services技術(shù)封裝發(fā)布的Web服務(wù);地圖服務(wù)利用GIS平臺發(fā)布符合OGC標(biāo)準(zhǔn)的地理信息數(shù)據(jù)服務(wù),包括切片地圖服務(wù)(WMTS)、WMS、Web要素服務(wù)(WFS)等。GIS組件層是網(wǎng)絡(luò)服務(wù)封裝中所用到的專業(yè)地圖數(shù)據(jù)處理組件,包含投影轉(zhuǎn)換、空間分析、地圖渲染等。數(shù)據(jù)層包含基礎(chǔ)測繪地理數(shù)據(jù)和國土資源專題數(shù)據(jù)。國土資源專題數(shù)據(jù)主要作為底圖,可由公共服務(wù)平臺提供服務(wù),主要包括矢量電子地圖、影像地圖、地勢圖、地名地址和POI等。它是和“一張圖”業(yè)務(wù)管理相關(guān)的數(shù)據(jù),經(jīng)過專業(yè)化的處理入庫,符合各業(yè)務(wù)科室對地理數(shù)據(jù)空間位置和屬性的需求。
2.1 區(qū)域權(quán)限
在國土部門業(yè)務(wù)處理過程中,為實現(xiàn)數(shù)據(jù)安全,一般要求各行政區(qū)只對其管轄區(qū)域具有操作權(quán)限。傳統(tǒng)的地圖區(qū)域權(quán)限設(shè)計中,都是以地圖圖層與權(quán)限列表相結(jié)合的方式實現(xiàn),過程較為復(fù)雜且易出錯。在服務(wù)式GIS基礎(chǔ)上實現(xiàn)空間區(qū)域權(quán)限,只需直接將區(qū)域訪問權(quán)限與地圖服務(wù)綁定即可,但需要對各行政區(qū)的主要數(shù)據(jù)增加“行政區(qū)代碼”字段,并單獨發(fā)布為服務(wù),其關(guān)鍵步驟為:
1)在加密后的國土專題數(shù)據(jù)中增加“行政區(qū)代碼”字段,值為該集合實體空間位置所在行政區(qū)的行政區(qū)代碼,數(shù)據(jù)以行政區(qū)為單位控制訪問。
2)在ArcMap中按照建庫標(biāo)準(zhǔn)配置輸出專題圖,通過行政區(qū)代碼過濾數(shù)據(jù),以行政區(qū)為單位輸出專題圖mxd文件。
3)在服務(wù)發(fā)布系統(tǒng)中按行政區(qū)創(chuàng)建用戶,用戶訪問的發(fā)布數(shù)據(jù)設(shè)置為行政區(qū)專題mxd文件。
4)在展示系統(tǒng)中通過對角色訪問數(shù)據(jù)源的控制實現(xiàn)用戶按行政區(qū)訪問數(shù)據(jù)的控制。
2.2 地圖服務(wù)
以O(shè)GC協(xié)議為標(biāo)準(zhǔn),服務(wù)器端負(fù)責(zé)各類地圖服務(wù)的發(fā)布,客戶端向服務(wù)器端發(fā)送特定請求,以獲取所需的地圖和GIS功能?!耙粡垐D”系統(tǒng)利用這種方式調(diào)用地圖,可以屏蔽平臺間的差異,便于服務(wù)聚合和數(shù)據(jù)共享與互操作,利于將服務(wù)分布在不同服務(wù)器上進(jìn)行分布式計算。為實現(xiàn)數(shù)據(jù)共享和綜合管理,根據(jù)各類地理數(shù)據(jù)特點,在國土資源“一張圖”系統(tǒng)中,數(shù)據(jù)可由WMTS、地名地址要素服務(wù)(WFS-G)和WFS服務(wù)接口提供。
圖1 國土資源“一張圖”系統(tǒng)架構(gòu)圖
WMTS是OGC在WMS的基礎(chǔ)上支持RESTful訪問的,提供獲取分塊地圖功能的服務(wù)。該服務(wù)通過多種協(xié)議獲取地圖瓦片,可提高服務(wù)的性能和收縮性。矢量電子地圖和遙感電子地圖由于數(shù)據(jù)量大,只作為底圖使用,所以將其發(fā)布為WMTS服務(wù),請求返回為不同級別的地圖瓦片,可明顯提高系統(tǒng)獲取數(shù)據(jù)的性能。WFS-G以XML的形式返回地名地址的要素結(jié)構(gòu),客戶端利用地名地址的XML信息可實現(xiàn)地名、地址數(shù)據(jù)的查詢、檢索、定位等功能。在“一張圖”系統(tǒng)中,將根據(jù)相關(guān)地名地址規(guī)范建立的地名地址數(shù)據(jù)庫發(fā)布為WFS-G服務(wù),可為整個系統(tǒng)提供與地名地址相關(guān)的功能。WFS以GML編碼的形式返回客戶端通過http向服務(wù)器端請求的要素,并提供對要素的插入、更新、刪除、檢索和發(fā)現(xiàn)等事務(wù)操作,能夠?qū)崿F(xiàn)服務(wù)器端和客戶端在要素層面的“通信”。系統(tǒng)將諸如土地利用數(shù)據(jù)、基準(zhǔn)房地價數(shù)據(jù)、宗地產(chǎn)權(quán)數(shù)據(jù)等需要經(jīng)常查詢、更新的數(shù)據(jù)發(fā)布為WFS服務(wù),可提高數(shù)據(jù)的利用價值,增強系統(tǒng)的管理能力。 系統(tǒng)中的圖形數(shù)據(jù)地圖服務(wù)如表1所示。
表1 國土資源“一張圖”系統(tǒng)服務(wù)列表
2.3 加密數(shù)據(jù)空間計算
國土專題數(shù)據(jù)是國家空間信息資源的重要組成部分,具有一定的敏感性,對于國土安全具有重要意義。因此在系統(tǒng)建設(shè)中,涉密數(shù)據(jù)必須經(jīng)過保密處理,保密內(nèi)容主要包括地圖數(shù)學(xué)基礎(chǔ)、位置精度、要素等方面。其中地圖數(shù)學(xué)基礎(chǔ)和要素的保密屬于嚴(yán)格保密內(nèi)容,有相關(guān)法律法規(guī)進(jìn)行約束,一般不對外發(fā)布。位置精度的保密可通過仿射變換對空間數(shù)據(jù)加入誤差進(jìn)行多次變換的方式達(dá)到保密要求[5]。
但是,幾何實體坐標(biāo)經(jīng)過加密處理后會產(chǎn)生一定的變形,易對空間計算造成影響。大部分傳統(tǒng)的GIS系統(tǒng)都是直接將加密后的數(shù)據(jù)進(jìn)行計算,得到一個不是很精確的值。但在“一張圖”系統(tǒng)中,諸如房產(chǎn)面積、產(chǎn)權(quán)紅線定位等都需要精確的空間計算值,因此系統(tǒng)在進(jìn)行空間計算時設(shè)計了特殊的策略。對于精度要求不高的空間計算需求,直接使用加密后的數(shù)據(jù)進(jìn)行計算并返回;對于精度要求高的空間計算需求,使用未加密坐標(biāo)的原始數(shù)據(jù)進(jìn)行空間計算,再將計算結(jié)果疊加到當(dāng)前可視的數(shù)據(jù)源上,這樣可以同時滿足估算與精確計算的雙重需求,提高了系統(tǒng)的實用性。需要注意的是,在進(jìn)行空間計算前應(yīng)對數(shù)據(jù)源進(jìn)行處理和轉(zhuǎn)換,只有在同一個坐標(biāo)系下進(jìn)行計算得到的結(jié)果才有意義。例如,“一張圖”系統(tǒng)中野外執(zhí)法利用GPS采集的數(shù)據(jù)是WGS84坐標(biāo)系,只有與常用的地圖坐標(biāo)系匹配后,才能將誤差減為最小[6]。
2.4 空間數(shù)據(jù)庫動態(tài)更新
國土資源“一張圖”系統(tǒng)集成了大量國土部門的相關(guān)業(yè)務(wù),其中面向公眾的窗口業(yè)務(wù)處理的都是和公民財產(chǎn)相關(guān)的工作,要求相關(guān)的專題數(shù)據(jù)庫能實時更新,以保證系統(tǒng)現(xiàn)狀數(shù)據(jù)庫中存儲的空間信息的現(xiàn)勢性。不同于關(guān)系數(shù)據(jù)庫實時更新的模式,空間數(shù)據(jù)庫無法直接實現(xiàn)空間數(shù)據(jù)的動態(tài)更新,需要設(shè)計其他的策略。對于并發(fā)用戶少,空間編輯簡單,耗時較少的情況,可將專題數(shù)據(jù)發(fā)布為WFS來完成。WFS具有插入、更新、刪除、查詢和發(fā)現(xiàn)操作的特性,事務(wù)型WFS還支持事務(wù)操作。利用這種模式就可以完成對地理要素的動態(tài)增刪改,達(dá)到客戶端操作與數(shù)據(jù)庫更新的同步性[7]。當(dāng)多用戶同時對同一空間數(shù)據(jù)庫進(jìn)行操作時,則不能簡單地通過鎖定訪問對象的方式實現(xiàn),否則容易造成系統(tǒng)響應(yīng)慢、處理時間長等弊端。此時,系統(tǒng)為各需對數(shù)據(jù)庫進(jìn)行編輯的用戶臨時建立一個專屬的數(shù)據(jù)版本。每個用戶只需在自己的數(shù)據(jù)版本上進(jìn)行增刪改等操作并記錄在對應(yīng)的數(shù)據(jù)表中,當(dāng)所有操作提交后,系統(tǒng)將用戶專屬的版本進(jìn)行一致性處理后合并到主數(shù)據(jù)的原始信息表中,最后更新數(shù)據(jù)庫。由于國土業(yè)務(wù)數(shù)據(jù)的復(fù)雜性和多態(tài)性,無法用統(tǒng)一標(biāo)準(zhǔn)進(jìn)行一致性處理,因此系統(tǒng)采用人機交互的方式。該更新方式可以避免數(shù)據(jù)更新過程中的長時間鎖定[8],詳細(xì)流程如圖2所示。
圖2 空間數(shù)據(jù)庫動態(tài)更新流程
2.5 地圖瓦片的存儲與緩存
目前瓦片地圖服務(wù)都是基于文件方式進(jìn)行圖片緩存。該方式實現(xiàn)簡單,但因瓦片集一般都是由海量小文件組成,對其進(jìn)行遷移和備份都非常耗時,且嚴(yán)重影響服務(wù)器的IO性能。為避免此弊端,可借助分布式緩存系統(tǒng)Memcached構(gòu)建一種瓦片存儲方案。在瓦片存儲時,按照“數(shù)據(jù)庫-圖層”方式設(shè)計庫結(jié)構(gòu),每個瓦片圖層都獨立存儲,地圖顯示時再按統(tǒng)一的拼接算法,多圖層即可實現(xiàn)任意疊加組合。由于對瓦片查詢的要求較低,每個瓦片集只需對應(yīng)一個包含級別、瓦片定位點和數(shù)據(jù)實體二進(jìn)制值的存儲表即可,其結(jié)構(gòu)如圖3所示。此外,還應(yīng)采用雙重緩存機制來避免頻繁地與數(shù)據(jù)庫交互,客戶端緩存可利用客戶端開發(fā)實現(xiàn),服務(wù)器端借助Memcached分布式緩存系統(tǒng)來縮短地圖服務(wù)響應(yīng)時間。這種瓦片存儲與緩存方案在不影響并發(fā)性能的前提下可以節(jié)約存儲空間,提升編碼重構(gòu)速度和數(shù)據(jù)遷移速度[9]。
圖3 地圖瓦片的存儲與緩存
在基于服務(wù)式GIS建設(shè)中山市國土資源“一張圖”系統(tǒng)的實踐過程中,本文就其中涉及的區(qū)域權(quán)限、地圖服務(wù)設(shè)計、保密數(shù)據(jù)空間計算、數(shù)據(jù)動態(tài)更新和地圖瓦片的存儲與緩存等關(guān)鍵技術(shù)進(jìn)行了研究,解決了系統(tǒng)建設(shè)中遇到的若干實際問題,希望對類似系統(tǒng)的建設(shè)提供借鑒。
[1] 龔健雅.GIS的發(fā)展:從系統(tǒng)到服務(wù) 從靜態(tài)到動態(tài)[J].地理信息世界,2013,20(6):3-4
[2] 李圣文,龔君芳,吳信才.基于SOA 的GIS 應(yīng)用框架[J].地球科學(xué)(中國地質(zhì)大學(xué)學(xué)報),2010,35(3):480-484
[3] 汪小林,龐瀟,王海波,等.基于SOA 的GIS 應(yīng)用設(shè)計與實現(xiàn)[J].地理信息世界,2010,17(2):58-67
[4] 陳旭,畢軍芳,仇天月,等.基于共享服務(wù)模式的農(nóng)業(yè)資源管理WebGIS系統(tǒng)構(gòu)建[J].中國農(nóng)學(xué)通報,2013,29(11):115-120
[5] 秦李顆. 互聯(lián)網(wǎng)環(huán)境下地理空間數(shù)據(jù)的保密技術(shù)研究[D].西安:長安大學(xué),2007
[6] 王占杰,曹江波,劉勇峰.空間計算中坐標(biāo)計算的研究[J].微計算機信息,2006(13):284-286
[7] 李廣宇,周可法,王金林,等.利用WFS實現(xiàn)對象關(guān)系空間數(shù)據(jù)庫更新[J].測繪科學(xué),2012,37(1):177-178
[8] 操振洲,李清泉.空間數(shù)據(jù)庫的更新技術(shù)研究[J].測繪通報,2007(11):23-35
[9] 羅智勇,黎小東.基于數(shù)據(jù)庫存儲方案的高性能瓦片地圖服務(wù)研究[J].地理與地理信息科學(xué),2013,29(3):48-51
P208
B
1672-4623(2016)07-0020-03
10.3969/j.issn.1672-4623.2016.07.006
甘宗平,碩士,高級工程師,主要從事GIS開發(fā)與應(yīng)用研究。
2014-11-26。
項目來源:國家自然科學(xué)基金重點項目資助項目(41431178)。