空间数据操作函数

Oracle

带有空间数据类型的字段的表创建

1.创建表
CREATE TABLE GIS_SHANXI_GBNT_2020
         (
         "ID" NUMBER(32) NOT NULL,
          "GEOM" "MDSYS"."SDO_GEOMETRY",  --空间数据类型字段
         "SRID" number(4),
   CONSTRAINT "GIS_SHANXI_GBNT_2020_PK" PRIMARY KEY("ID")
);

2.创建元数据
INSERT INTO user_sdo_geom_metadata VALUES (
    'GIS_SHANXI_GNBT_2020',    
    'GEOM',     -- 空间数据字段
    MDSYS.SDO_DIM_ARRAY(   
        MDSYS.SDO_DIM_ELEMENT('X', -180, 180, 0.5),    

 
     MDSYS.SDO_DIM_ELEMENT('Y', -90, 90, 0.5)    
 
    ),
    null 
);


3.创建索引
create index idx_GIS_SHANXI_GBNT_2020 on GIS_SHANXI_GBNT_2020(GEOM) indextype is mdsys.spatial_index;

















1.SDO_UTIL.TO_WKTGEOMETRY(GEOM) 将GEOMETRY对象转成wkt格式的字符串,返回类型CLOB

2.SDO_UTIL.FROM_WKTGEOMETRY('MULTIPOLYGON (((121.042946940262 31.3159021847315)))') 将WTK数据转成空间类型对象

1.SDO_UTIL.TO_WKTGEOMETRY(GEOM) 将GEOMETRY对象转成wkt格式的字符串,返回类型CLOB

例:
SELECT ID,ZCDM,ZCMC,SZC,ZLWZ,GSDW,SDO_UTIL.TO_WKTGEOMETRY(GEOM),TO_CHAR(SCRQ,'yyyy-MM-dd HH24:mi:ss') FROM GIS_DJDZC where zcmc like '%公司%';
2.拉框查询 SDO_FILTER(GEOMETRY,GEOMETRY) 即判断两个几何体是否有相交
例:
SELECT * FROM gis_djdzc t
        WHERE SDO_FILTER(
                t.GEOM,
             
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值