楊文杰,張新長,郭泰圣
(中山大學 地理科學與規劃學院,廣東 廣州 510275)
地籍數據是地籍管理信息系統的核心[1],宗地又是地籍數據中尤為重要的一部分,隨著經濟的快速發展,宗地數據的變化速度也越來越快,為了保持宗地數據的現勢性,需要構建一種恰當的方法來進行宗地數據的更新。近年來,國內外學者對于數據的更新方法進行了一些研究。陳軍[2]等根據歸納出的拓撲聯動類型,提出了一種地籍數據庫的增量更新方法;張豐[3]等通過結合對象建模技術和時空演變過程表達思想,建立了一種以過程為核心的地籍數據庫更新模型;周曉光[4]等以地理事件、空間實體變化類型及時空數據庫動態算子間的關系為基礎,提出了一種基于事件的增量更新方法;張新長[5]等針對GIS增量更新中存在的一致性維護與空間沖突問題,以一致性維護與空間沖突處理為切入點,提出一種自適應的矢量數據增量更新方法。
本文基于宗地數據的版本-增量的更新研究,根據宗地在更新過程中出現的變化情況進行分析,不僅利用基態和修正數據,而且還利用相對于不同更新版本之間的增量數據,能夠很好地完成宗地數據的增量更新,維護宗地數據的現勢性。
基于版本-增量的數據增量更新模型采用版本表示地理現象的狀態,用增量表示基于版本的時空現象變化。該模型可以認為是基態修正模型、基于事件的時空數據模型、時空復合模型的抽象,是三者的理論基礎[6]。版本-增量時空數據模型的空間幾何作為時空原子不可再分,只能以出現、消亡和更替等變化,其中更替又可以表示為一個地理要素的消亡和另一個地理要素出現的過程,因此版本-增量時空數據模型可以用出現和消亡兩個過程變化來表示。
圖1顯示了宗地變化在版本-增量數據庫中存儲的情況,分別包括宗地新建、宗地刪除、宗地合并、宗地分割等宗地變化情況[7]。版本-增量數據庫只會記錄這次變化相對于上次變化的增量數據,如圖1所示。
(1) 更新機制
本文在版本-增量更新數據模型的基礎上進行了改進,不只是利用相對于基態的增量數據,而且利用了相對于不同更新版本的增量數據,以適應地籍數據庫中宗地數據的更新操作和對于歷史更新數據的回溯操作。
圖2所示的是基于版本-增量機制的宗地數據更新改進模型,將T0時刻宗地數據的狀態作為基態存入數據庫中,在T1時刻新增加了一塊宗地,T1時刻相對于T0時刻基態的增量為Change(1-0),將Change(1-0)與基態數據進行疊加可得到T1時刻數據庫中的狀態;在T2時刻刪除了一塊宗地,此時不僅要存儲T2時刻相對于T0時刻基態的增量數據Change(2-0),還要存儲T2時刻相對于T1時刻宗地的增量數據Change(2-1);同理,在T3時刻宗地狀態相對于基態的增量數據為Change(3-0),相對于T1時刻的增量數據為Change(3-1),相對于T2時刻的增量數據為Change(3-2);同理,T4時刻需要存儲的增量數據依次為Change(4-0)、Change(4-1)、Change(4-2)、Change(4-3)。因此,如果宗地在某個時間段內發生了n次變化,則Tn時刻需要存儲在數據庫中的增量數據包括Change(n-0)、Change(n-1)、Change(n-2),…,Change(n-(n-1))。

圖1 版本-增量更新數據模型
這種增量更新能夠有效地完成地籍數據庫中宗地數據的增量更新,如圖1所示,如果用戶先調用了Change(1-0)數據,使用戶的數據庫更新到T1時刻宗地的狀態,即圖2中Amendment (1)的狀態。若此時宗地已經更新了4次,最新的宗地狀態為T4時刻的狀態,則用戶只需調用T4時刻相對于T1時刻的增量數據Change(4-1),與T1時刻的宗地狀態進行疊加更新,即可更新到T4時刻宗地的狀態。
(2) 物理存儲方式
在物理存儲方面,本文將宗地數據中的宗地要素封裝在具有唯一標識的對象中,利用要素表、幾何表和屬性表記錄宗地要素和宗地要素的空間變化,這樣無論宗地要素發生多少次變化,在表中只有一條記錄,能夠減少數據庫中的數據冗余,以圖2中T1—T3時刻的宗地變化情況為例(如表1、表2、表3所示)。

表1 更新模型要素表

表2 更新模型幾何表

表3 更新模型屬性表
T3時刻相對于T1時刻的增量數據,只需要考慮T1—T3時刻之間(不包括T1,包括T3)發生變化的宗地要素即可,T3時刻相對于T1時刻的增量數據可以表示為
(1)
其中,Change(3-1)表示T3時刻相對于T1時刻的增量數據;∑new表示在T1—T3時刻之間新建的宗地總和,如表1中的宗地F;∑delete表示T1—T3時刻刪除的宗地總和,如表1中的宗地A、B、D。
可以推出Tj時刻相對于Ti時刻的增量數據(j>i)
(2)
其中,Change(j-i)表示Tj時刻相對于Ti時刻的增量數據;∑new表示在Ti—Tj時刻之間新建的宗地總和;∑delete表示Ti—Tj時刻刪除的宗地總和。
(3) 宗地變化對比查詢
地籍數據庫中宗地數據可能隨著時間的變化而不斷發生變化,一個區域范圍內的數據有的部分經過了多次更新,有的部分從未被更新,仍然是最初的基態, 歷史數據回溯通過該時刻所屬的基態和修改信息來恢復該歷史時刻的全貌[8]。使用版本-增量更新模型要進行較多的操作,使用本文提出的基于版本-增量的更新改進模型只需直接利用數據庫中的記錄即可。如圖1中要進行T3時刻和T2時刻宗地狀態對比,如果只利用相對于基態的增量變化,則還需要進行比較分析才可以得到T3時刻和T2時刻的宗地狀態,當如圖2所示進行增量的存儲后,只需使用圖2中的Change(3-2)數據,就可以得到T3時刻相對于T2時刻的宗地增量情況,宗地變化對比表如表4所示。

圖2 基于版本-增量的增量更新改進模型
本文的更新過程為:首先判斷是不是第一次更新,或者說是基礎數據是否為數據庫中的基態數據(T0時刻的宗地狀態),如果是第一次更新,則用基態數據和相對于基態數據的增量數據Change(i-0)進行疊加,進行第一次更新,更新后的數據則表示地籍要素變化后宗地的狀態,表示為
Amendment(1)={Original,Change(i-0)}
(3)
其中,Amendment(1)表示更新后的宗地數據;Original表示基態數據;Change(i-0)表示宗地第i次變化后相對于基態數據的增量。

表4 宗地變化對比表
如果宗地發生了第m次變化(m>i),如果需要更新到m次變化后的宗地狀態,則需要用更新后的數據Amendment(1)和m次更新后的數據相對于i次更新后數據的增量數據Change(m-i)相疊加,則得到m次更新后的宗地數據,可表示為
Amendment(2)={Amendment(1),Change(m-i)}
(4)
其中,Amendment(2)表示第二次增量更新后的數據;Amendment(1)表示上式中第一次更新后的數據;Change(m-i)表示第m次變化相對于第i次變化的增量。
據式(3)、式(4)可得到一個適用性的公式為
Amendment(t)=

其中,Amendment(t)表示第t次增量更新后的數據;Original表示版本數據;Change(i-0)表示第i次變化相對于宗地數據版本數據庫的增量數據;Change(m-i)表示第m次變化相對于第i次變化的增量數據(m>i);Amendment(t-1)表示第t-1次更新后的數據,具體更新流程如圖3所示。

圖3 更新流程
圖3右側具體更新過程的實現主要是根據不同變化類型進行不同的操作,可將宗地變化分為宗地新建、宗地刪除、宗地合并、宗地分割、公共邊界調整五種類型,然后根據不同的變化類型進行不同的更新操作。
為驗證本文所提出的更新模型與方法,本文在Windows環境下,以Visual Studio 2008為開發工具,集成ArcGIS Engine開發包研制了更新原型系統,實現了宗地數據的增量更新,更新數據的對比查詢等功能,以1∶1 000矢量宗地地形圖數據進行了試驗(見圖4)。
圖4中的宗地數據進行了4次變化,其中T1時刻新建了兩塊宗地,T2時刻刪除了兩塊宗地,T3時刻將兩塊宗地合并成了一塊宗地,T4時刻分別將兩塊宗地進行了分割。可以看到改進的版本-增量更新模型根據宗地的變化情況完成了地籍數據庫中宗地數據的增量更新工作。

圖4 更新前后的宗地數據對比
本文提出的增量更新方法由于利用了每次宗地要素變化時相對于其之前所有變化的增量數據,因此能夠有效地進行地籍要素變化對比的查詢。
試驗結果顯示在宗地數據增量更新過程中,本文提出的基于版本-增量更新方法的改進能很有效地進行地籍數據庫中宗地數據的增量更新操作,具有一定的實用價值。
本文以版本-增量的更新方式為切入點,提出了在宗地數據中適用的、基于版本-增量的數據更新方法的改進方法。試驗表明該方法具有一定的實用價值,可以應用在地籍數據庫中宗地數據的增量更新中。因此,可以得出以下結論:
1) 本文所提出的基于版本-增量的宗地數據更新改進算法綜合考慮了宗地要素間的關系和宗地要素在不同時期發生的變化情況,記錄增量數據在發生變化時相對于版本以及相對于其他變化的增量數據,能很好地完成宗地數據的增量更新工作。
2) 基于版本-增量的宗地數據更新改進方法,利用了增量數據相對于其他變化的增量數據,能有效地進行地籍要素的變化對比查詢。
但本文提出的增量更新方法也有不足之處:對于地籍數據庫中的點要素和線要素的增量更新還需要進一步的研究,這些也將是筆者后續的研究重點。
參考文獻:
[1] 陳紅艷,于曉峰,李曉燕,等. 城鎮地籍數據庫建設及發展趨向[J]. 測繪通報,2010(7):65-67.
[2] 陳軍,林艷,劉萬增,等. 面向更新的空間目標快照差分類與形式化描述[J]. 測繪學報,2012,41(1):108-114.
[3] 張豐,劉南,劉仁義,等. 面向對象的地籍時空過程表達與數據更新模型研究[J]. 測繪學報,2010,39(3):303-309.
[4] 周曉光,陳軍,朱建軍,等. 基于事件的時空數據庫增量更新[J]. 中國圖象圖形學報,2006(10):1431-1438.
[5] 張新長,郭泰圣,唐鐵. 一種自適應的矢量數據增量更新方法研究[J]. 測繪學報,2012,41(4):613-619.
[6] 尹章才,李霖. 基于快照-增量的時空索引機制研究[J]. 測繪學報,2005,34(3):257-261,282.
[7] 龔磊,張新長. 時空模型在宗地變更和歷史回溯中的研究[J]. 地理信息世界,2008(1):53-57.
[8] 熊湘琛,張新長,曹凱濱. 城市基礎地形數據增量更新研究[J]. 測繪通報,2009(3):24-26.