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