應用MapInfo Pro設計空間數據庫

MapInfo 數據支持Oracle空間數據庫存儲,在設計時,我們可以採用MapInfo Professional製作的表實現空間數據庫的設計。首先我們運行MapInfo Professional,從新建菜單中新建表,此時將有對話框對提示,我們勾選“打開新的地圖窗口”,點擊“創建”按鈕,此時彈出字段設計對話框,用戶可以按照數據表的設計,把字段一一添加,然後進行表的保存。

從“工具”菜單選擇工具管理器,此時將彈出對話框,在上面的列表中找到EasyLoader,勾選框勾上,確定後,從“工具”菜單就可以看到EasyLoader,打開後進行設置。
1、點擊Oracle Saptial進行服務器的設置。
2、點擊源表,選擇將要上傳的文件。
3、點週上載按鈕,上傳至服務器。

此時我們登錄服務器,就可以在Oracle的數據庫中看到上傳的表,此時的表又自動增加了一個“MI_Prinx”列,這個就是主鍵列,你可以根據設計需要把字段名改成相應的名字,比如說“ID”; 

Oracle 支持自定義的數據類型,你可以用數組,結構體或者帶有構造函數,功能函數的類來定義自己的對象類型。這樣的對象類型可以用於屬性列的數據類型,也可以用來創建對象表。而Oracle Spatial也正是基於此種特性所開發的一套空間數據處理系統。

Spatial 的自定義數據類型有很多,都在MDSYS方案下,經常使用的是SDO_GEOMETRY類型。SDO_GEOMETRY表示一個幾何對象,可以是點、線、面、多點、多線、多面或混合對象。

Spatial 在此數據類型的基礎上,實現了R樹空間索引和四叉樹空間索引,還以sql函數的形式實現了多種空間分析功能。

Oracle Spatial 使用:
1、將SDO_GEOMETRY數據類型作爲數據表的一個列。

        CREATE TABLE cola_markets (
 mkt_id NUMBER PRIMARY KEY,
  name VARCHAR2(32),
  shape MDSYS.SDO_GEOMETRY);

2、填寫空間元數據。

    INSERT INTO USER_SDO_GEOM_METADATA
  VALUES (
  'cola_markets',
  'shape',
  MDSYS.SDO_DIM_ARRAY(   -- 20X20 grid
    MDSYS.SDO_DIM_ELEMENT('X', 0, 20, 0.005),
    MDSYS.SDO_DIM_ELEMENT('Y', 0, 20, 0.005)
     ),
  NULL   -- SRID
);

3、創建空間索引。

CREATE INDEX cola_spatial_idx
ON cola_markets(shape)
INDEXTYPE IS MDSYS.SPATIAL_INDEX;

至此,空間數據表的創建纔算正式完成。

發佈了31 篇原創文章 · 獲贊 3 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章