Oracle Spatial時態空間資料庫設計

來源:互聯網
上載者:User

需求前提:資料每年變化1~2次,軟體預計生命週期50年。

實踐環境:Oracle Spatial。

術語表:時Null 物件,快照。

時Null 物件:一個地理目標從誕生到消亡所經曆的空間和時間範圍及其屬性資訊。這是一個為處理時空資料方便而抽象出來的概念,相當於全資訊模型中的全資訊對象。為了理解時Null 物件,我們以二維地物為例。二維地物在二維空間中佔據一定的空間範圍,表現為一個二維幾何體,也就是它的幾何屬性。如果再增加一條時間軸,成為(x,y,t)座標系,並認為任何的空間對象都有誕生和消亡,則這個二維地物就在(x,y,t)座標系中佔據了一定的三維空間。我們就把二維地物從誕生到消亡這一時間段所佔據的空間-時間範圍稱之為“時Null 物件”。同理,也可以將時Null 物件擴充為三維的空間對象在時間維度上的延續,也就是四維對象。時Null 物件的屬性資訊是一張二維表。

快照:一個地理目標在某一特定時刻所佔據的空間範圍及其屬性資訊,或者說:時Null 物件在某一特定的時刻所佔據的空間範圍及其相應的屬性資訊。舉例來說,地圖上繪製了一個飯店的位置,大小,這就是飯店的一個快照。因為飯店是從某一時刻才誕生的,又會在某一時刻消亡,而在誕生和消亡之間,還可能會搬遷或擴建。所以地圖上反映的僅僅是飯店在某一時刻的狀態,所以稱之為飯店在某一時刻的快照或時Null 物件在某一特定時刻的快照。注意,快照總是對應於某一特定的時刻,否則將失去快照的意義。快照的屬性資訊是時Null 物件屬性資訊表中的一條記錄。

設計方向:以時Null 物件的概念組織空間資料和屬性資料,使得對地物變遷曆史的查詢和分析成為可能。對應用程式層屏蔽曆史資料的處理過程,將曆史資料的處理當作資料庫模組的功能之一。

技術要點:

1、Oracle包變數的會話獨立性。

2、動態視圖技術(基於函數的視圖)

每一個時Null 物件都是由多個快照記錄所描述的。觀察者的每一次觀察都是基於一個特定的觀察時間的。例如,圖示中的觀察者應該看到對象一的快照2和對象三的快照2,而無法看到對象二和對象一、三的其他快照記錄。看不到對象二是因為在此觀察時間之前,對象二已經消亡。看不到對象一的快照1是因為對象一有更新的觀察資料快照2可以更好地近似反映對象二在當前觀察時間所處的狀態。

資料表:資料表的設計基於以上概念

預存程序:利用Oracle中包變數的會話獨立性,在包中建立以下幾個基本的預存程序:設定當前觀察時間,擷取當前觀察時間,利用當前觀察時間和傳入的Snap_time,Snap_end參數判斷快照記錄是否可見(Snap_Filter)。

視圖:建立在快照記錄表上的視圖,基於儲存函數Snap_Filter實現對錶中記錄的篩選。傳入參數為:Snap_time,Snap_End.,傳回值為此快照是否可見。

SELECT Obj_id, Snap_time, Geom, Attr

FROM 快照記錄表

WHERE Snap_Filter(Snap_time, Snap_end) > 0;

觸發器:視圖上的觸發器,使應用程式層使用者可以在視圖中插入,修改,刪除資料。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.