魏雪梅
(1. 安徽省基礎測繪信息中心, 安徽 合肥 230031; 2. 安徽省智慧城市與地理國情監測重點實驗室, 安徽 合肥 230031)
隨著地理信息數據資源的不斷發展,面向公眾、政務、企業等應用場景的地理信息公共平臺建設日漸完善。面對涉密網、政務網、互聯網等不同的網絡環境及日益豐富的數據內容,單一時點單一尺度的空間數據庫已經難以滿足需要,由多個層次、多個庫體組成的時空數據體系開始成為GIS數據管理發展方向[1-6]。
安徽省地理信息公共服務平臺是安徽省統一的、權威的省級地理信息公共服務平臺,也是國家地理信息公共服務平臺的安徽省節點[7-8]。為整合利用全省地理信息資源,提高開發利用水平,提升公共服務能力,安徽省地理信息公共服務平臺建立了以母庫為核心的公共地理信息數據資源體系,采用多級結構的空間數據庫組織形式,支撐不同網絡環境和不同部門的應用需求。由于體系內數據來源眾多,需要對各個層次的數據庫建立聯動更新機制,以保證數據一致性和現勢性。本文面向該問題展開分析研究,建立通用性多級時空數據庫聯動增量更新模型,并在數據資源體系的更新中予以應用和驗證。
時空數據庫增量更新過程可以采用數據庫語義進行定義和描述,以數學模型的形式建立時空數據庫在不同節點和時點上的映射關系[9-11]。本文研究的聯動增量模型面向由多個存在主從關系的時空數據庫組成的數據管理體系,旨在通過對數據庫建立語義分類,對增量更新中的各種行為建立模型,實現體系內任意節點增量變化驅動各數據庫聯動更新的技術流程。
任一空間對象在t時點的空間信息可以描述為

對于t0→t1的變化增量ΔO
由n個空間對象構成的數據集在t時點可以描述為
對于t0→t1的變化增量ΔS
式中,ΔSn為原有n個對象變化增量;δSm為新增m個對象集合。進行增量更新后,在t1時點數據集可以表示為

假設數據集T為數據集S的子集,T∈S。當更新由T中空間對象變化驅動,更新方向為T→S,此時S的變化量為
ΔS=ΔT
當更新由其他子集中空間對象變化驅動,并已聯動完成父集S更新,此時子集T的變化量為
ΔT=ΔS-δ
式中,δ∈ΔS,δ∩ΔT=?。
由于在涉密網和非涉密網環境中都需要部署應用平臺,省級地理信息公共服務數據資源體系應由多個具有主從關系的數據庫組成,便于在不同的應用環境建立數據映射[12-13]。安徽省地理信息公共服務數據資源體系是新型公共服務平臺的數據支撐,重點在于改變現有涉密版平臺和非涉密平臺相互孤立的現狀,在統一的體系內支持涉密版、政務版、公眾版的多樣化數據需求。母庫是由基礎地理信息數據庫、國情普查數據庫、遙感影像及各類專題數據庫中提取的數據綜合而成,是支撐測繪地理信息公共服務的數據基礎。各個版本的產品庫數據均從母庫根據需求提取而來,但依據涉密環境的不同作了不同程度的保密處理。
從數據庫結構(如圖1所示)來看,母庫S是整個數據資源體系的父層,涉密版產品庫T1、政務版T2和公眾版產品庫T3為母庫的3個不同子集。在數據結構上,將母庫S作為時空數據庫進行管理,管理覆蓋全部時相與全部類別的最大數據集合;T1、T2、T3均為S在某一時點的子集,所管理的空間對象只有單一的時間狀態,對象總數及對象的屬性字段數量均小于S,空間位置按照保密相對于S進行了空間變換。
在數據資源體系建立之前,地理信息公共平臺更新多采用“底層驅動,定期更新”的數據維護模式[14-15],即按照更新計劃每年開展1~2次更新,需要更新的要素和服務由基礎地理信息數據庫更新情況和遙感影像獲取情況決定。這種更新模式全部在涉密環境中進行,存在周期長、覆蓋率低、不同版本更新需要重復進行等特點,導致各版本各地區間存在現勢性不一致的現象。
本文在時空數據庫聯動增量更新模型的基礎上設計了“需求驅動,動態同步”的更新機制,即不僅可以通過底層驅動自母庫發起更新,而且可以自產品庫在應用端根據數據需求發起更新,反向推動全體系聯動更新,如圖2所示。這一機制的核心在于對數據資源體系內的每一個數據庫節點都設置一個更新觸發引擎,產品庫采用需求報送進行觸發,母庫采用底層更新進行觸發,單一節點的更新可以快速反饋至母庫集中處理,進而觸發對體系內各個數據庫節點的同步聯動更新。在更新過程中,引入全生命周期管理、屬性提取與融合、空間變換等技術環節,實現對地理信息公共服務的數據需求全覆蓋。這一模式把更新操作從涉密環境擴展至任一應用環境,可以大大縮短更新周期和需求響應時間,并可與傳統的定期更新計劃兼容,形成更加完善的數據更新維護機制。
在需求驅動的聯動更新機制下,聯動更新技術流程從傳統的底層順序更新轉變為數據增量同步,更新發起從傳統的單一底層驅動轉變為需求驅動,更新環境從單一的涉密內網轉變為一網觸發多網聯動,更新目的從維護公共服務平臺轉變為多庫聯動,如圖3所示。整個流程的研究重點有變化發現、逆向更新、順向提取3個環節。
2.3.1 變化發現
變化發現是更新的發起點,在傳統模式下,公共服務平臺無需提供變化發現功能,更新是由測繪地理信息基礎數據庫發起,以定期更新的方式按一定周期進行的。在新模式下,變化發現概念得到了新的發展,可以分為需求驅動和底層驅動兩個部分。需求驅動作用于公共服務平臺,采用眾包制圖的思想,在各個應用終端都建立了在線繪圖和申報模塊,用戶和更新人員可以實時將要素變化通過平臺在線繪制,經過平臺維護人員審核后即可實現對任一網段的產品庫實時更新,并自動完成該網段各類平臺服務的更新。底層驅動是傳統的順序更新模式的發展,將基礎庫的數據變化同樣作為公共服務平臺的發起點,從而啟動后續的更新流程。無論采用哪一種模式,變化發現之后,都將觸發體系內所有數據庫及服務的動態聯動。
2.3.2 逆向更新
逆向更新是指從公共服務平臺應用端發起的,向母庫進行增量更新的流程,在更新流程上與傳統的順序更新互為逆向。以政務版為例,當政務版用戶提交一處更新后,維護人員實時完成對政務版產品庫和服務的更新,進而啟動了逆向更新流程。政務版產品庫的更新會形成增量包,經由逆向保密處理為母庫增量包,向母庫進行增量更新。
假設從t0→t1時點,政務版產品庫形成了變化增量,其中l個對象發生了空間或屬性變化,新增了m個對象,刪除了h個對象為
引入空間和屬性變化,考慮政務版中空間位置為保密處理后的概略位置,該增量可以轉換為
(Ot1Ot0)h},Ot1=?
政務版進入母庫需要進行空間變換、屬性融合,空間變化即從非涉密環境加密為涉密數據,屬性融合是指政務版屬性項個數M小于母庫屬性項N,應對屬性予以補全。經過變換后獲得母庫增量
因變化不影響母庫要素個數,將發生變化的l維變量集合及變換為空值的h維變量集合向母庫的n維進行歸并,計為ΔSn,新增的m維變量集合計為δSm。則完成更新后,在t1時點母庫S的狀態可以描述為
2.3.3 順向提取
順向提取是指從公共服務平臺母庫提取增量包,并向應用端產品庫進行更新的流程,這一階段與傳統的順序更新方向一致。以政務版為例,在母庫逆向更新完成后,母庫可以提取涉密版的增量包和公眾版增量包,涉密版增量包直接向涉密版產品庫進行增量更新,公眾版增量包經過順向保密處理后對公眾版產品庫進行增量更新。產品庫的增量更新完成后,會自動進行相關服務的更新,至此公共服務平臺的跨網段多庫聯動更新完成,數據和服務實現了完全同步。
以政務版產品庫T為例,假設從t0→t1時點,母庫S形成了變化增量
ΔS=ΔSl+δSm+δ
因T為S子集,δ為ΔS中與T無關的對象應予排除,引入空間和屬性變化可以轉換為
通過從涉密環境進入非涉密環境的空間變換與屬性提取后,獲得產品庫T的增量
因變化不影響產品庫要素個數,將發生變化的l維變量集合庫的n維進行歸并,計為ΔTn,新增的m維變量集合計為δTm,刪除的h變量集合計為δTh。則完成更新后,在t1時點產品庫T的狀態可以描述為
基于本文的研究成果,利用原公共服務數據集,整合1∶1萬基礎地理信息數據、地理國情普查數據及其他專題數據,建立了完整的安徽省地理信息公共服務數據資源體系。為實現數據體系內的數據管理、數據更新與維護備份等工作,定制開發了母庫管理系統,通過系統的相關功能模塊,實現時空數據庫的聯動更新,如圖4所示。
利用聯動更新機制,本文對2017年全年度安徽省地理信息公共服務平臺開展了數據更新工作,更新內容包括道路、水系、居民地、城市綠地、地名地址等。以地名地址數據為例,全年采用了底層驅動和需求驅動相結合的方式進行了地名地址數據更新,地名地址條目總數由83萬條上升至113萬條,其中有573 329條數據是通過底層驅動方式由母庫發起更新,通過收集公眾版用戶上報信息獲得674條數據從公眾版產品發起需求驅動更新,整個數據體系進行了3次數據同步。地名地址數據的更新情況見表1。

表1 地名地址數據更新統計
實際作業經驗表明,采用多級數據庫的聯動更新機制可以滿足省級地理信息公共數據庫的更新維護需要,在保障數據現勢性的同時提升了對更新需求的快速響應能力。經過一年的更新,安徽省各版本的公共平臺電子地圖現勢性大大提高,豐富了圖面信息,提升了瀏覽體驗,如圖5所示。
本文圍繞著多級結構的地理信息公共服務數據資源體系開展了聯動增量更新機制和方法研究,對更新增量的提取和同步作了定量描述,提出了具體的實現方法。從更新效果來看,在現勢性不足的情況下底層驅動的效率較高,可以快速提高整體的現勢性。需求驅動更為貼近用戶,適用于對熱點地區的快速應急更新。兩種方法共同作用在保證整體現勢性逐年提高的同時,還可以滿足局部區域快速更新需求。