文/蔡 暉 葉華平 游開燕
對空間數據模型的認識和研究是GIS學科的核心內容和重要論題。廣義上的地理空間數據模型研究的主要內容就是如何正確對以上內容進行描述并有效實現龐大信息量和檢索速度的協調,同時動態地表現地物的發展變化。在設計GIS空間數據庫和發展新一代GIS技術及其應用過程中有著舉足輕重的作用,它直接影響著數據庫中數據的語義表達、查詢、檢索的方式、速度和效率。空間數據模型按照空間數據時態特征的地位也經歷了靜態空間數據模型與時態空間數據模型兩大階段。
時態GIS的組織核心是時空數據庫,時空數據模型則是時空數據庫的基礎。
時空數據建模是針對如何合理、有效地表達、記錄和管理現實世界時空變化實體及其關系與行為的研究,是GIS數據建模的前沿研究領域,也是建立TGIS的極其重要的基礎。然而,由于時空變化語義的復雜性和時間維表達的特殊性,目前仍無普遍接受的時空數據模型,也未見各方面較為成熟的TGIS基礎平臺,且實用的GIS系統很多仍是靜態或準靜態的。
從建模方法學角度,時空數據建模可劃分為三個層次,即時空語義建模、時空數據邏輯建模和時空數據物理建模,相應時空數據模型包括時空語義模型、時空數據邏輯模型和時空數據物理模型。時空語義建模屬于概念模型一級,主要研究地理認知世界中的時間和空間概念、時空結合的含義以及所要表達的時空實體及其時空變化特征。時空數據邏輯建模內容包括時空數據類型及其數據結構實現、時空數據操作及時空完整性約束三個部分。時空數據物理建模主要考慮系統結構、物理數據存儲結構和時空索引結構等。其中,語義建模是基礎,邏輯建模和物理建模具體表達時空語義及語義信息的物理存取。時空數據模型特點是語義更豐富、對現實世界的描述更準確。一個有效的時空數據模型必須具有數據存儲冗余度低、支持各種復雜時空對象的構造、表達豐富的時空語義、兼顧檢索效率和用戶的應用要求等特點。
從時態GIS實現的角度來看,時空數據模型可分為廣義與狹義。從廣義上,時空數據模型可涵蓋包括準靜態空間數據模型在內的所有考慮時變因素的非靜態空間數據模型,這些系統底層并不一定包括對傳統靜態GIS空間數據模型的改造。換句話說,廣義上的時空數據模型可以和傳統靜態GIS系統在底層數據模型上沒有本質上的差別。
狹義上的時空數據模型則不然,它需要充分研究時間維語義和表達的特殊性,對傳統靜態GIS空間數據模型進行擴充和改造,使之能夠對時變特性的屬性和空間數據進行沿時間維的動態組織和存儲,實現動態多維(包括時空三維或時空四維)時空數據的一體化表達及管理,特別是具備時序分析能力。這種空間數據模型才是真正意義上的時空數據模型。
上述兩個層面的理解都有理論或現實的意義。廣義上的時空數據模型允許將相對成熟的傳統靜態GIS技術作簡單擴展實現時態GIS功能,雖然不能完全滿足時空動態應用的需求,但由于不要求對傳統靜態GIS系統做較大的改動,設計和開發比較容易,成本和風險相對也較低;另一方面,采用狹義的時空數據模型,可以引導時空數據建模、時空數據庫實現及可視化表達與分析向真正的屬、時、空一體化方向發展。
時態GIS包含時態數據庫(temporal database),內置有時空數據模型。時態數據庫基于時態數據模型,是數據庫系統技術的一個比較前沿的分支。時態GIS采用時態數據庫技術,動態地研究三維地理空間的數據和信息。因此,時態GIS所基于的數據模型成為時態空間數據模型,或簡稱時空數據模型。
1.時態地理信息系統
時態地理信息系統,亦稱為時態GIS、temporal GIS或者TGIS。時態GIS是相對GIS而言的。地理環境、事物和現象不斷發展變化,但是靜態GIS僅對其進行“快照”式的表達。當研究的空間現象狀態發生變化時,靜態GIS對原來的狀態不予保留,只關心系統變化后的結果;它只是簡單的對一定瞬間的地理現象進行備份,將發生的時間作為屬性數據保留,而非慣性過去時刻狀態的回放,也不對動態演變進行比較分析。這種只對當前數據狀態進行“快照”是描述的GIS系統,稱靜態GIS。
時態地理信息系統將時間概念引入GIS中,跟蹤和分析空間數據和隨時間的變化。它不僅描述系統在某時刻、時段的狀態,而且描述系統沿時間維變化的過程,預測未來時刻、時段系統將會呈現的狀態,以此獲得系統變化的趨勢,或者對過去不同時刻、時段的系統狀態回放重現,總結出系統沿時間變化的規律。這種不同于靜態GIS,含有時間概念的GIS系統,成為時態GIS或TGIS。
2.時空數據庫
時空數據庫的基本概念、特征及術語。
有效時間(valid time):指一個對象在現實世界中發生并保持的那段時間、或者該對象在現實世界中為真的時間段。有時也稱為對象時間、世界時間、外界時間和物理時間。
事務時間(transaction time):指一個對象錄入數據庫系統的時間,有時也稱為系統時間、 數據庫時間、歷史記錄時間、邏輯時間等。
用戶定義時間(User-defined time):指用戶根據需要而輸入的時間,數據庫管理系統將它與庫中其他一般數據同等對待。
快照數據庫(Snapshot database):使用刪除、替換對數據庫狀態進行數據更新的一系列系統活動,它導致數據庫的過去狀態丟失并忘記,它僅反映現實中的一個片斷。
回滾數據庫 (Rollback database):根據事務時間在系統中保存對象的所有過去歷史,并能對庫中任何數據做更新操作。
歷史數據庫 (Historical database):根據有效時間在系統中保存對象的所有過去歷史,并能對庫中任何數據做更新操作。
時態數據庫(Temporal DB):根據有效時間和事務時間在系統中分別保存對象歷史和數據庫狀態。
時空立方體模型。時間立方體模型用二維圖形沿時間第三維發展變化的過程表達現實世界平面位置隨世界的演變;給定一個時間位置值,就可以從三維立方體中獲得相應的截面、立方體的狀態。也可擴展表達三維空間沿時間變化的過程。缺點是隨著數據量的增大,對立方體的操作會變得越來越復雜,以至于最終變得無法處理。
連續快照模型。連續快照模型是將一系列的時間片斷快照保存起來,反映整個空間特征的狀態,根據需要對指定時間片斷的現實進行播放。該模型的不足在于,由于快照將未發生變化的時間片斷的所有特征重復進行存儲,會產生大量的數據冗余,當應用模型變化頻繁、且數據量較大時,系統效率急劇下降。此外,連續快照模型不表達單一的時空對象,較難處理時空對象的時態關系。
基態修正模型。為了避免連續快照模型將每張未發生變化部分的快照特征重復進行記錄,基態修正模型按事先設定的時間間隔采樣,只存儲某個時間的數據狀態(稱為基態)和相對基態的變化量。基態修正的每個對象只存儲一次,每變化一次只有很小的數據量需要記錄。同時,只有在事件發生或對象發生變化時,才存入系統中,時態分辨率刻度值與事件發生的時刻完全對應。基態修正模型不存儲每個對象不同時間段的所有信息,只記錄一個數據基態和相對應基態的變化量,提高了時態分辨率,減少了數據冗余量。但基態修正模型較難處理給定時刻的時空對象間的空間關系。對于將整個地理區域作為處理對象時,該模型處理方法難度較大,效率較低,管理索引變化很困難。
時空復合模型。時空復合模型將空間分隔成具有相同時空過程的最多的公共時空單元,每次時空對象的變化將在整個空間內產生一個新的對象。對象把在整個空間內的變化部分作為它的空間屬性,變化部分的歷史作為它的時態屬性。時空單元中的時空過程可用關系表來表達,若時空單元分裂時,用新增的元組來反映新增的空間單元,時空過程每變化一次,采用關系表中新增一列的時間段來表達,從而達到用靜態的屬性表表達動態的時間變化過程的目的。但在數據庫中對象標識符的修改比較復雜,涉及關系鏈層次很多,必須對標識符逐一進行回退修改。