从Oracle迁移空间数据至DM方法与步骤
1 概述
- 本次迁移空间数据通过第三方软件ArcGIS作为介质进行迁移。
2 环境准备
- 以下是本次环境的操作系统及软件版本。
操作系统:Windows 10
操作系统:Windows 10
Oracle数据库(64位):11g
DM数据库(64位):v8
ArcGIS:10.4.1
- 注:因ArcGIS Desktop是32位的程序,此测试环境数据库都为64位程序,故需再单独部署32位Client Server并添加到环境变量中,否则ArcGIS Desktop在连接数据库会提示数据库客户端配置错误。
3 数据库部署
- 请自行安装Oracle11g与DM8数据库。
- 注:DM8数据库部署完成后需先执行SP_INIT_GEO_SYS(1)创建DMGEO包。
4 ArcGIS部署
4.1 安装ArcGIS License Manager
1、双击LicenseManager安装目录下的Setup.exe
2、点击接受并next
3、点击install
4、安装完成
5、安装完成后,会自动弹出ArcGIS License Server Adminstrator,可以start/stop许可服务。
4.2 安装ArcGIS Desktop
1、点击安装Destop
2、选择Advanced Concurrent Use,点击ok
3、在弹出的ArcGIS Adminstrator框中将“Not_Set”改成“localhost”
4、点击“Availability”可以看到软件都已经授权
5、打开ArcMap
5. 空间数据迁移
5.1 配置文件夹连接
打开“ArcCatelog”,右键配置“文件夹连接”,此文件夹路径为要素输入输入路径。
5.2 添加数据库连接
- 选择“数据库连接”-“添加 数据库连接”。
配置如下图所示:
5.3 创建测试要素
- 在Oracle中创建测试要素,SQL如下:
---1、创建测试表
CREATE
TABLE TEST_TABLE
(
ID NUMBER PRIMARY KEY,
NAME VARCHAR(32) ,
SHAPE SDO_GEOMETRY
);
---2、插入测试数据
INSERT
INTO
TEST_TABLE VALUES
(
1 ,
'UPDOOGIS',
MDSYS.SDO_GEOMETRY( 2003, NULL, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 3), MDSYS.SDO_ORDINATE_ARRAY(1, 1, 5, 7) ) ---(1,1,5,7)->左下坐标(1,1)右上坐标(5,7)
);
---3、升级USER_SDO_GEOM_METADATA视图来反映这些地区的维度信息
INSERT
INTO
USER_SDO_GEOM_METADATA
(
TABLE_NAME ,
COLUMN_NAME,
DIMINFO ,
SRID
)
VALUES
(
'TEST_TABLE' ,
'SHAPE' ,
SDO_DIM_ARRAY( SDO_DIM_ELEMENT('X', 0, 20, 0.005), SDO_DIM_ELEMENT('Y', 0, 20, 0.005) ), ---SDO_DIM_ELEMENT(坐标系,最小值,最大值,偏差值)
NULL
);
COMMIT;
---查看维度信息
SELECT * FROM USER_SDO_GEOM_METADATA;
---创建空间索引
CREATE INDEX TEST_TABLE_IDX
ON TEST_TABLE(SHAPE)
INDEXTYPE IS MDSYS.SPATIAL_INDEX;
5.4 导出测试要素
- 在配置好的数据库连接中找到测试要素“TEST_TABLE”,点击“右键”-“导出”-“转为shapefile(单个)”。
- 输出位置为要存放.shp文件路径,输出要素类为.shp文件名称。
5.5 导入测试要素
- 在配置好的数据库连接中点击“右键”-“导入”-“要素类(单个)”。
- 输入要素为要导入的.shp文件,输出要素类为要导入的表名。
5.6 查看导入的结果
- 至此空间数据已迁移完成。