• Oracle Spatial导入shp数据


    现在开始尝试用oracle spatial管理空间数据,刚学会shp数据的导入,总结如下。oracle11g安装后,已经有了oracle spatial组件,我们只需要用shp2sdo.exe工具,就可以将空间数据导入数据库中。

    shp2sdo.exe工具下载:

    在电脑上oracle客户端配好连接,在本地就能上传数据到服务器。将shp2sdo.exe工具和要导入数据库的空间数据放到一个文件夹中,比如E:shp_data文件夹中。然后执行cmd,通过以下命令导入数据:

    (1)E:    ------进入E盘

    (2)cd E:shp_data  --------进入数据所在文件夹

    (3)E:SHP_DATA>shp2sdo XJ XJTJ -i CODE -s 4326 -g GEOMETRY -d

    ----参数解释:

    XJ:shp文件名(不带.shp后缀); 

    XJTJ:导入数据里面的表名;

    -i CODE:唯一标示id字段(建议用“FID”就行,另外shp数据里面的字段不能有id字段,也不要尝试将shp数   

    据中已有的字段设为id字段,否则后面数据导入会报错。);

    -s 4326:数据坐标信息,ESPG参数。比如WGS84坐标系对应的参数值是4326

    -g  geometry column指定sdo_geometry,默认是GEOM

    -d 代表含义是将分解后的 ctl文件(控制文件)和data文件(数据存储文件)合并到一个文件,数据存储和控制都在ctl一个文件中,如果没有该选项,则会有单独的data文件生成,即ctl文件(控制文件)和data文件(数据存储文件);

    这个语句执行成功后,会在shp_data文件下生成两个文件:

    DJTJ.sql文件:是在数据库中创建DJTJ表的sql语句;

    DJTJ.ctl文件:控制文件,导入数据

    (4)E:SHP_DATA>sqlplus user/password@orcl   ---------进入数据库

    (5)SQL>@F:SHP_DATADJTJ.sql    -------创建表并注册到USER_SDO_GEOM_METADATA

    (6)SQL>quit      --------退出数据库

    (7)E:SHP_DATA>sqlldr user/password@orcl  DJTJ   --------导入数据

    (8)E:SHP_DATA>sqlplus user/password@orcl  --------进入数据库

    (9)SQL>execute sdo_migrate.to_current('DJTJ','GEOMETRY');---------升级数据到当前oracle版本

    (10)SQL>CREATE INDEX INDEX_OPER_DATA_SPATIAL ON OPER_DATA(GEOMETRY)INDEXTYPE IS MDSYS.SPATIAL_INDEX ; -----创建空间索引

  • 相关阅读:
    程序包管理
    磁盘篇
    centos7上常用软件安装
    这个端午
    字节码技术及动态代理
    浅析同步异步阻塞非阻塞
    String拾遗
    Java注解拾遗
    设计模式之总结篇
    设计模式之访问者模式
  • 原文地址:https://www.cnblogs.com/pengjw/p/4849145.html
Copyright © 2020-2023  润新知