佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Oracle數(shù)據(jù)倉庫的分層管理器解決方案開發(fā)者網(wǎng)絡Oracle

Oracle數(shù)據(jù)倉庫的分層管理器解決方案開發(fā)者網(wǎng)絡Oracle

熱門標簽:Linux服務器 AI電銷 百度競價排名 地方門戶網(wǎng)站 網(wǎng)站排名優(yōu)化 鐵路電話系統(tǒng) 服務外包 呼叫中心市場需求
正在看的ORACLE教程是:Oracle數(shù)據(jù)倉庫的分層管理器解決方案開發(fā)者網(wǎng)絡Oracle。摘要 本文描述分層管理器的原理、步驟、限制,并和Oracle數(shù)據(jù)倉庫相結(jié)合實現(xiàn)了地學數(shù)據(jù)的有效存儲、管理以及大范圍數(shù)據(jù)的快速瀏覽。

  關鍵字 分層管理器 元數(shù)據(jù) 快速瀏覽
  
  前言

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

  分層管理器

  1、分層管理器架構

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

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

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

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

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

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

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

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

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

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

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


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

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

[NextPage]

2、分層管理器開發(fā)步驟

  分層管理器應用程序需要進行許多設置和準備。主要步驟匯總?cè)缦拢?

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

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

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

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

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

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

  實例分析

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

  1、構建分層管理器

  構建逐層細化表,其表結(jié)構為:

Definition Table

Type Native Charset "WindowsLatin1"

Fields 3

Key Char (32);

Level Char (32);

Label Char (32) ;

  元數(shù)據(jù)關鍵字和對應值為:

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、分層管理器的實現(xiàn)

  使用 CreateCustomTool 方法實現(xiàn)逐層細化工具,定義為:Map1.CreateCustomTool customDrilldownExpandTool, miToolTypePoint, miDrilldownExpandCursor, miDrilldownContractCursor, miDrilldownContractCursor

  每次使用自定義逐層細化工具均會觸發(fā) ToolUsed 事件。在 ToolUsed 事件過程中,您將需要

[1] [2] 下一頁

正在看的ORACLE教程是:Oracle數(shù)據(jù)倉庫的分層管理器解決方案開發(fā)者網(wǎng)絡Oracle。執(zhí)行產(chǎn)生逐層細化行為的代碼。該過程主要分為四個步驟:

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

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

  (3)提取空間數(shù)據(jù)。根據(jù)前述條件,用SQL語言從數(shù)據(jù)倉庫中提取信息,如:select goloc form YN. Tab_HQ_KC where Prix=68

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

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

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

  3、結(jié)果分析

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

  結(jié)論

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

上一頁    

上一頁  [1] [2] 

您可能感興趣的文章:
  • Oracle中多表關聯(lián)批量插入批量更新與批量刪除操作
  • Oracle數(shù)據(jù)庫恢復教程之resetlogs操作
  • Oracle 數(shù)據(jù)倉庫ETL技術之多表插入語句的示例詳解

標簽:衡水 銅川 崇左 黃山 蘭州 仙桃 湘潭 湖南

巨人網(wǎng)絡通訊聲明:本文標題《Oracle數(shù)據(jù)倉庫的分層管理器解決方案開發(fā)者網(wǎng)絡Oracle》,本文關鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    宕昌县| 英德市| 娱乐| 唐山市| 吴忠市| 仁化县| 涿州市| 武隆县| 沙坪坝区| 湘潭县| 肥西县| 理塘县| 吴桥县| 民权县| 梁河县| 榆林市| 广宗县| 池州市| 平舆县| 新宁县| 来宾市| 内丘县| 大港区| 青河县| 舞阳县| 平武县| 崇仁县| 文化| 元阳县| 封丘县| 伊春市| 天水市| 苍南县| 独山县| 星子县| 铁岭县| 红河县| 漾濞| 芮城县| 宁波市| 政和县|