将shp数据导入oracle数据库

将shp数据导入oracle数据库

步骤

  1. 在C盘创建一个test文件夹,把文件放进去:在这里插入图片描述

  2. 打开cmd,输入:shp2sdo c:\test\nanshanshequ3857 c:\test\nanshanshequ3857 -g geometry -d
    之后test文件夹中会多出“nanshanshequ3857.ctl”和“nanshanshequ3857.sql”两个文件;在这里插入图片描述

  3. 打开nanshanshequ3857.sql文件,把最下面的语句放到plsql里执行;在这里插入图片描述

  4. 它会在USER_SDO_GEOM_METADATA表中插入nanshanshequ3857,再输入select t.*,t.rowid from USER_SDO_GEOM_METADATA t 可查看插入结果。

  5. 回到cmd中,按顺序执行
    sqlplus giser/bnjzgis@orcl

    @c:\test\nanshanshequ3857.sql

    quit

    sqlldr giser/bnjzgis@orcl c:\test\nanshanshequ3857

    接着到plsql中的Command Window执行下面这句,对表进行升级
    execute sdo_migrate.to_current(‘nanshanshequ3857’);
    建立空间索引,需要注意存入的几何类型是否正确,必须有空间索引geoserver才能成图

    CREATE INDEX INDEX_nanshanshequ3857_SPATIAL ON nanshanshequ3857 (GEOMETRY)INDEXTYPE
    IS MDSYS.SPATIAL_INDEX PARAMETERS(‘LAYER_GTYPE=POLYGON’) NOPARALLEL;

  6. nanshanshequ3857.shp就成功导入oracle, 输入select * from NANSHANSHEQU3857可查看, 可用geoserver发布。

对sdo_geometry类型中的各个参数简单的介绍:

1、SDO_GTYPE:表示要存储的几何类型,如点线面。它是通过NUMBER类型来表达的;
2、SDO_SRID:几何的空间参考坐标系,类型也为NUMBER;
3、SDO_POINT:如果几何类型点类型的话,就是存储点坐标,否则为空。 oracle自定义的SDO_POINT_TYPE类型;
4、SDO_ELEM_INFO:定义要如何理解SDO_ORDINATES中的坐标串的;
5、SDO_ORDINATES:存储实际坐标的,以X、Y以及不同点之间都是逗号隔开。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值