背景動機
地學海量數據增長,傳統全量加載瀏覽效能低落。需變革儲存方式:按需加載、避免重複 I/O。
分層管理器架構
兩大核心組件
- 組件表:儲存逐層細化的空間數據,對應各詳細圖層
- 逐層細化表:空表結構 + 元數據,定義層次關鍵字、資料來源、挖掘規則、加載範圍、編輯輸出規則
元數據語法規範
begin_metadata 起始標記
- 每行:
"\Keyword" = "Value"
- 必含
"\IsDrilldown" = "TRUE"
- 關鍵字以反斜線開頭,支援巢狀層次
- 核心結構:
\DDMap\ComponentMaps\ 定義各組件表四要素
運作流程
- 建立空白逐層細化圖層
- 依元數據規則從數倉挖掘資料 → 組件表
- 建立臨時表,複製組件表要素供顯示
- 用戶互動(點擊)觸發下層加載/上層移除
- 編輯結果另存為專題圖,原逐層細化表保持空白
開發步驟
- 取得多層次組件表數據
- 建立含特殊欄位與元數據的空逐層細化表
- 加入地圖視圖
- 新增 UI 響應逐層細化事件
- 撰寫分層管理器核心邏輯:偵測選擇要素 → 確定子要素集 → SQL 挖掘數倉 →
DrilldownAddFeatures 加入 → DrilldownRemoveFeatures 移除 → 編輯存檔
實戰案例:遙感數據分層瀏覽
- 工具:VB + MapX GIS 元件
- 逐層細化表結構:Key/Level/Label 三欄位
- 元數據定義多層組件表對應、DLL 介面、初始層級
- 自定義工具觸發
ToolUsed 事件執行六步驟邏輯
成果效益
- 數倉支撐海量空間數據儲存、分析、輸出
- 數據挖掘技術實現按需存取,避免全表掃描
- 分層管理器達到大範圍快速瀏覽、多主題圖層疊加
- 實際應用極具便利性
結論
Oracle 數倉 + 分層管理 GIS 二次開發,結合雙方優勢,在地學空間數據應用領域進行有益探索。