毛寧 陶象武 呂恭鳴 馬良 張湜岫 趙濬哲



摘要:隨著地理信息系統在社會各個領域的廣泛應用,地理空間數據成為許多行業解決規劃和管理問題不可或缺的輔助決策數據,而且對于空間數據的現勢性要求越來越高。3S技術的發展也為數據快速更新提供了有效的技術手段,傳統的空間數據庫已無法有效地存儲和管理積累的大量歷史數據。本文以面向對象的地理數據庫Geodatabase為基礎平臺,以減少歷史數據存儲空間為目的,完成了多基態修正模型時空數據庫的設計,極大地減少了空間歷史數據存儲的冗余。
關鍵詞:空間數據;多基態修正模型;時空數據
中圖分類號:G642 ? ? ? ?文獻標識碼:A
文章編號:1009-3044(2019)14-0003-03
Abstract: With the wide application of Geographic Information System in various fields of society, geospatial data has become an indispensable auxiliary decision-making data for many industries to solve planning and management problems, and the demand for the current situation of spatial data is becoming higher and higher. The development of 3S technology also provides an effective technical means for rapid data updating. Traditional spatial databases can not effectively store and manage a large number of accumulated historical data. Based on the object-oriented geographic database Geodatabase, in order to reduce the storage space of historical data, this paper completes the design of spatial-temporal database of multi-base state amendment model, ?and greatly reduces the redundancy of spatial historical data storage.
Key words: spatial data; Multi-base state amendment model; spatial-temporal data
1 引言
空間數據庫是地理實體有關的空間特征、屬性特征和時間特征數據的集合[1]。隨著社會經濟的快速發展,人們對空間數據的現勢性要求越來越高,空間數據的快速更新成為迫切的需求,而日益成熟的航空攝影測量技術和衛星遙感技術也成為空間數據更新有效的技術手段,空間數據的更新周期變得越來越短[2],從而也積累了大量的歷史數據。隨著GIS技術在國土監測各個領域的廣泛應用,GIS應用人員對空間對象在時間中的發展變化的研究對求解相關空間問題顯得尤為重要[3][4],如何將歷史數據和現勢性數據有效的存儲和管理起來,對于側重考慮地理實體空間特征的傳統GIS數據模型已無法滿足上述要求。時空數據模型研究成為當前GIS研究的一個重要方向[5]。目前Geodatabase被很多學者作為建立時空數據庫的基礎平臺[6][7],本文在研究Geodatabase面向對象的地理數據模型基礎上,提出了基于Geodatabase的多基態修正時空數據模型設計方案。
2 模型介紹
2.1Geodatabase數據模型
Geodatabase采用的是面向對象的地理數據模型,相較于傳統的層次數據模型、網狀數據模型和關系數據模型用于GIS地理數據庫的局限性,面向對象數據模型更加適用于GIS問題的求解。Geodatabase類型分為三種:文件地理數據庫、個人地理數據庫和ArcSDE地理數據庫,前兩者可作為本地地理數據庫使用,個人地理數據庫由于采用了Microsoft Access文件存儲和管理空間數據,因此存在2 GB的大小限制,三個地理數據庫中只有ArcSDE地理數據庫能支持多用戶的讀寫,且支持Oracle、Microsoft SQL Server等大型的數據庫。本文考慮到時空數據庫的簡單性、易用性和平臺獨立性采用了文件地理數據庫的存儲方式。Geodatabase對于矢量數據的存儲管理大致可以分為三個層次結構:地理數據庫、特征數據集、特征類,如圖 1:
地理數據庫可以包含多個特征數據集,每個特征數據集可以包含了多個特征類,這些特征類必須采用統一的空間參考,特征類存儲著地理實體的幾何數據和屬性數據。
2.2多基態修正模型
本文采用多基態修正模型,主要思想是首先以研究區某一時刻的數據狀態作為基態,然后計算并存儲當前基態時刻以后的其他時刻數據相對于基態的變化量或差文件[8][9];隨著不同時刻數據變化量的存儲,當變化量積累超過系統設定的閾值時,將當前最新時刻的數據狀態設定為新基態,前一基態數據作為歷史基態數據,之后其他時刻數據的變化量以新基態為參考進行計算并存儲,模型如圖 2所示:
3 時空數據庫設計
3.1 時空數據庫邏輯組成
時空數據庫由特征數據集和表構成,特征數據集包含當前基態特征類和歷史基態特征類,以及各個時刻數據相較于指定基態數據的變化量特征類。為了能夠快速地進行不同時刻基態和變化數據的檢索,方便變化量的計算和某時刻數據的還原,還需要建立基態記錄表和變化量記錄表。
3.2表設計
當前基態、歷史基態特征類表結構雖然相同(見表 1),但是當前基態數據一段時間內會被頻繁調用,而歷史基態數據只有在數據還原時需要檢索和提取,因此為了提高檢索、提取以至計算的效率,本文將兩個特征類單獨存儲,否則將兩個特征類合二為一,將會降低當前數據庫的使用效率。BaseFcID表示某時刻基態的編號,在當前基態特征類中所有對象的基態編號都是一致的,而在歷史基態特征類中根據存儲對象的存在時刻不同而具有不同的編號。
變化特征類表(見表 2)存儲各個時刻的數據相對于指定基態的變化量,SuperObj和SubObj分別表示變化對象的父對象和變化后的子對象,ChangeID表示某時刻變化量數據的編號,從而區分不同時刻的變化量。
當前基態、歷史基態記錄表(見表 3)記錄了所有基態的開始時間和結束時間,當前基態的開始時間是確定的,但是結束時間未知,為了檢索方便賦予一個相較開始時間一個較大跨度的時間值。變化量記錄表(見表 4)記錄了用于變化量計算的某時刻數據的時間以及參照計算的基態編號。
3.3時空快照數據入庫和恢復流程
時空快照數據入庫步驟:
1) 根據輸入數據的時間在基態、歷史基態記錄表檢索所屬時間段的基態編號;
2) 以基態編號為查詢條件在基態、歷史基態特征表中提取指定的基態數據;
3) 計算相應基態數據和輸入數據的變化量;
4) 將變化量數據存儲到變化量特征類中,并賦予相應變化編號及其他屬性信息,并在變化量記錄表中增加一行對應的記錄,完成入庫工作。
時空快照數據還原步驟:
1) 根據指定的時間在變化量記錄表中檢索最近的記錄,獲取對應的變化編號以及對應的基態編號;
2) 從當前基態或者歷史基態類中提取對應編號的基態數據;從變化量特征類中提取對應編號的變化量數據;
3) 依據變化量數據對相應基態數據進行還原,完成指定時間時空數據的恢復。
4 結論
在面向對象的地理數據模型Geodatabase中可以很簡單、方便、快速地實現多基態修正模型時空數據庫的設計和創建工作,也能較好地處理、存儲基態和變化數據,通過提供的強大檢索功能可以很快速地對歷史數據進行查找并復原特定時刻的數據,多基態修正模型能有效地克服傳統空間數據庫存儲歷史數據的冗余問題,極大地減少了存儲占用空間。
參考文獻:
[1] 金鑫, 董少春, 王曉琪,等. 基于ArcGIS Geodatabase的浙江良渚古城遺址空間數據庫的設計與實現[J]. 南京大學學報(自然科學版), 2018(2).
[2] 王昌翰.重慶城市空間數據更新與建庫[J].測繪科學,2012,37(04):184-186+190.
[3] 胡鵬,等.地理信息系統教程[M].2002.
[4] 朱文德,王輝,李景文.基于Geodatabase的特征-版本時空數據組織方法[J].測繪與空間地理信息,2015,38(06):66-68.
[5] 龔健雅,李小龍,吳華意.實時GIS時空數據模型[J].測繪學報,2014,43(03):226-232+275.
[6] 劉玉婷,李景文,傅瑋佳,徐濤.基于Geodatabase的版本—對象時空數據組織方法[J].地理空間信息,2012,10(04):63-65+181.
[7] 姜曉軼,周云軒,蔣雪中.基于Geodatabase的面向對象時空數據模型[J].計算機工程,2005(24):27-29.
[8] 霍亮,田軍,靖常峰.基于基態修正模型的矢量數據增量更新機制研究[J].測繪通報,2015(05):46-49.
[9] 胡輝,王昌佐,梁萬杰,江東,鞠斌.基于Shapefile的基態修正模型設計與實現[J].地球信息科學學報,2012,14(03):313-319.
【通聯編輯:王力】