一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Oracle - Oracle數據倉庫的分層管理器解決方案開發者網絡Oracle

Oracle數據倉庫的分層管理器解決方案開發者網絡Oracle

2019-10-25 16:40Oracle教程網 Oracle

本文描述分層管理器的原理、步驟、限制,并和Oracle數據倉庫相結合實現了地學數據的有效存儲、管理以及大范圍數據的快速瀏覽。

前言

21世紀是信息的世紀,綜合國力的競爭在很大程度上是信息的競爭,更是信息利用率的競爭。近年來,隨著“數字地球”和“數字國土”戰略的提出和實施,地學領域的海量數據飛速增長,數據的存儲、分析、管理和處理變得日益復雜。隨著Oracle技術的成熟,尤其是8.15本版后Oracle Spatial的出現,數據倉庫在海量數據存儲、分析和表達方面有著無可比擬的優勢。同時,由于信息量的巨大,傳統的數據存儲和顯示方式在大范圍數據快速瀏覽方面顯得力不從心,這樣有必要改變空間數據的存儲方式,加載需要的空間數據部分,避免不必要數據的反復加載和卸載。

1、

分層管理器是實現大范圍數據的快速瀏覽的關鍵部分,它控制了逐層細化表的結構和元數據的定義和賦值,定義了組件表中的關鍵信息,給出了空間數據的來源、數據挖掘規則、圖層加載范圍和圖形編輯、輸出和保存。分層管理器有兩部分組成,分別為:

a) 一組存儲于Oracle數據倉庫中的空間數據表,用于逐層細化圖層中的每個詳細信息層,這些表稱為組件表;

b) 一個空表,包含該表的結構定義和描述組件表的特殊元數據,該表稱為逐層細化表。任何逐層細化應用程序均需要逐層細化表,從中可以了解逐層細化圖層中各層的層次關鍵字描述,以及它們之間的層次關聯方式。進行分層時,分層管理器作為程序的一部分,確定需要添加的子圖元所在的圖層及其關鍵字,以便確定在逐層細化圖層中需要添加和刪除的圖元信息。

逐層細化圖層是一種特殊的地圖圖層,它是有自己表結構的空白圖層,并用元數據規定了所有加載圖層的一些規則和限制,所顯示出來的地圖信息是按照元數據規定的規則從其它表或數據庫中提取出來的。在地圖中顯示逐層細化圖層時,分層管理器會創建一個臨時表,然后將組件表中的圖元復制到該臨時表中。逐層細化圖層中顯示的圖元實際上是組件表中圖元的副本。這樣就可以靈活的在圖層上面加載需要的信息。在應用程序終止時,將丟棄該臨時表,為了保存有用的專題圖信息,可以對提取出來的圖層進行保存。此時,如果用戶查看圖層信息時,逐層細化圖層仍將是單個圖層。

逐層細化表的要求作為分層管理器的組織核心部分,它定義了元數據關鍵字和三個標準列:關鍵字、層和標簽。并有著自己的一套語法:

(1) 關鍵字 begin_metadata 標記逐層細化表中元數據部分的開頭。

(2) 每行元數據包含兩個元素:關鍵字和值。所有關鍵字和值均使用雙引號引起來。

(3) 逐層細化表必須包含 \IsDrilldown 關鍵字,該關鍵字的值必須為 True。

(4) 每個關鍵字以“\”(反斜線)開頭。

(5) 元數據關鍵字可以在層次結構中嵌套。層次結構中的每一層以反斜線 (\) 標記。

(6) 元數據包括 \DDMap\ComponentMaps\ 關鍵字層次結構。在該層次結構中為每個組件表指定四個元數據關鍵字。

Oracle數據倉庫的分層管理器解決方案開發者網絡Oracle

分層管理器的分層原理圖如圖1所示,從圖中可以看出,分層管理器有兩部分組成:組件表和逐層細化表組成,分層管理器根據系統的要求以數據挖掘的方式從Oracle數據倉庫中提取數據,形成組件表中的某個圖層,然后確定需要加載圖層的名稱和圖層中的部分,并加載到逐層細化表中。如果是第一次加載,此時的逐層細化表是空白圖層,在加載過程中,逐層細化表不斷的進行圖元信息的增加和刪除,這樣會出現每個組件表中的部分信息顯示在逐層細化表所示的圖層中。這樣輸出所需要的圖層,并對它進行編輯,由于逐層細化表中數據是個組件表中的副本,需要對編輯后的圖層進行另存,形成專題圖。

分層管理器首先形成空白圖層,通過分層管理器用數據挖掘工具從Oracle數據倉庫中提取數據,根據分層管理器的元數據規則形成一級的圖層,在該圖層中,通過響應事件,以確定加載二級圖層的圖層名稱和該圖層中的加載部分,相應的加載三級、四級圖層數據,在加載的同時,就形成了各種專題圖。當然,分層管理器功能的實現是通過GIS組件(MapX、MO、AO等)和編程語言(VB、VC、Delphi等)來實現的。

2、分層管理器開發步驟

分層管理器應用程序需要進行許多設置和準備。主要步驟匯總如下:

(1)獲取多層逐層細化圖層時要使用的各個表的數據。

(2)創建一個包含特殊列和特殊元數據的新的空逐層細化表(.tab文件)。元數據為每個組件表指定一個層名,同時標識組件表中的重要列標識列和標題列。

(3)將逐層細化表加入地圖。例如,將逐層細化表加入您使用的Geoset,或通過編碼方法將逐層細化表加入地圖。

(4)在應用程序中添加用戶界面元素,響應逐層細化事件。

(5)添加代碼,響應用戶對逐層細化工具的使用(也就是說編寫分層管理器)。

(6)該代碼需要檢測用戶已選擇的圖元;確定需要添加的子圖元和需要刪除的圖元;調用應用程序來實現分層或匯總地圖圖元。

實例分析

由于遙感影響數據量特別巨大,對于數據的存儲、管理、分析和有用圖形部分顯示就顯得非常困難,這需要用關系——對象數據庫對數據進行存儲。在圖形顯示時,為了使取得有用圖層信息,減少加載時間和提高編輯效率,需要對圖形進行分層顯示,即用到了前面介紹的分層管理器技術。本文用VB作為編程語言,MapX作為GIS組件進行二次開發來實現分層管理技術。

1、構建分層管理器

構建逐層細化表,其表結構為:

DefinitionTable

TypeNativeCharset"WindowsLatin1"

Fields3

KeyChar(32);

LevelChar(32);

LabelChar(32);

元數據關鍵字和對應值為:

begin_metadata

"\IsDrilldown"="TRUE"

"\DDMap\ComponentMaps\One\File"="Tab_YNP.TAB"

"\DDMap\ComponentMaps\One\LevelID"="Tab_YNP"

"\DDMap\ComponentMaps\One\FeatureIDCol"="3"

"\DDMap\ComponentMaps\One\FeatureCaptionCol"="1"

…(其他各組件層的關鍵字和值與此相同)

"\DDMap\HierarchyManager\IsDLL"="TRUE"

"\DDMap\HierarchyManager\ID"="SomeDLL.dll"

"\DDMap\HierarchyManager\InitialLevel"="Tab_YNP"

end_metadata

2、分層管理器的實現

使用CreateCustomTool方法實現逐層細化工具,定義為:Map1.CreateCustomToolcustomDrilldownExpandTool,miToolTypePoint,miDrilldownExpandCursor,miDrilldownContractCursor,miDrilldownContractCursor

每次使用自定義逐層細化工具均會觸發ToolUsed事件。在ToolUsed事件過程中,您將需要執行產生逐層細化行為的代碼。該過程主要分為四個步驟:

(1)使用SelectByPoint或SearchAtPoint之類的方法確定用戶單擊的地圖圖元。

(2)確定應取代用戶單擊的圖元的子圖元集。例如,可以使用一個或多個嵌套的Case語句確定哪些子圖元取代所選的父圖元。

(3)提取空間數據。根據前述條件,用SQL語言從數據倉庫中提取信息,如:selectgolocformYN.Tab_HQ_KCwherePrix=68

(4)調用DrilldownAddFeatures方法將子圖元加入地圖。

(5)調用DrilldownRemoveFeatures方法從地圖中刪除父圖元(用戶單擊的圖元)。

(6)對顯示圖層進行編輯,并把編輯結果保存。

3、結果分析

從實例的結果可以看出,Oracle數據倉庫能夠方便的對空間數據進行存儲、分析、管理和輸出,數據挖掘技術的應用能夠靈活存取數據,而不需要加載整個數據表中的所有數據,分層管理器的應用實現了空間數據大范圍快速瀏覽和不同主題圖層的部分疊加,實際應用中有著非常方便的應用。

結論

高效地利用現有的海量數據是目前面臨的難題之一。Oracle數據倉庫技術是專門針對海量數據的管理和應用的技術,它在對象-關系型數據庫、功能強大的DBMS和支持可視化檢索方面有著非常明顯的優勢。地學數據倉庫的理論在今年的時間應用中不斷完善,本文在數據倉庫的存儲、分析和表達層方面把理論和實際應用相結合,結合分層管理GIS二次開發,開發出基于Oracle數據倉庫的分層管理系統,它結合了數據倉庫和分層管理的優點,在地學空間數據應用方面進行了有益的嘗試。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美人成绝费网站色www吃脚 | gay台湾无套男同志可播放 | yjsp妖精视频在线观看免费 | 9966久久精品免费看国产 | 女人与d0gxxx| 大陆男男gayxxxxvideo | 亚洲午夜精品久久久久久成年 | 脱了白丝校花的内裤猛烈进入 | 午夜亚洲福利 | 风间由美被义子中文字幕 | 日日爽| 天天摸天天碰色综合网 | 国产精品亚洲一区二区 | 国产suv精品一区二区四区三区 | 国产东北三老头伦一肥婆 | 激情婷婷综合久久久久 | 91视频国产精品 | 亚洲天堂免费观看 | 操动漫美女视频 | 99精品影视 | 成品人视频免费观看 | 污污动图 | 日本韩国推理片免费观看网站 | 波多野结衣在线看 | 天天久久影视色香综合网 | futa巨大好爽好长 | 国产三级跑 | 99热久久这里只有精品23 | 亚洲国产在线观看免费视频 | 女仆掀起蕾丝裙被打屁股作文 | 国产综合亚洲欧美日韩一区二区 | 日本三级在线观看免费 | 嫩草影院地址一地址二 | 免费真实播放国产乱子伦 | 99久久伊人精品波多野结衣 | 国产精品欧美亚洲韩国日本 | 高考录取率1977-2021 | 久久国产乱子伦免费精品 | 精品国产品香蕉在线观看75 | 男男双性生子产乳高辣h | 好大好深好舒服 |