应用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;

至此,空间数据表的创建才算正式完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值