既然是想要导入既定的系统,那么数据结构基本都要保持ArcGIS系统的结构不变,因此主要考虑的是如何不变动现有系统的数据结构,将整个数据迁移过来,具体操作步骤为以下三个:

1.整合超图的几何数据和属性数据

通常情况下,用户都是在超图的数据集中存储几何数据,在Oracle的表中存储业务数据也就是属性数据,在导入数据之前,我们需要将这些数据先做个处理,将所有的属性信息都先放到几何图层中。

例如我们在超图的数据集中保存的点数据是警察局的数据

accdb导入mysql_数据

而属性数据存储在Oracle的表TestTable中,通过主键SMID来关联,属性表定义如下:

accdb导入mysql_数据库_02

首先,在SuperMap Deskpro里面建立一个属性数据表,操作如下:

accdb导入mysql_accdb导入mysql_03

选择“属性表数据集”

accdb导入mysql_数据_04

结果如下:

accdb导入mysql_数据集_05

右键点击新建的属性数据集,点击“属性”

accdb导入mysql_数据集_06

根据需要导入的数据表,建立合适的表结构

accdb导入mysql_数据集_07

利用Oracle的客户端工具,将Oracle表中的数据导入到新建的属性表中(笔者选用的是SI Object Browser)

accdb导入mysql_accdb导入mysql_08

将属性数据集中的数据添加到几何数据集中

accdb导入mysql_accdb导入mysql_09

操作如下:

accdb导入mysql_数据库_10

添加完数据后我们得到一个有了全部属性信息的几何数据集Police_Station。

2.导出shp文件

右键点击上一步中得到的全属性几何数据集,选择导出

accdb导入mysql_数据_11

选择shp文件格式

accdb导入mysql_数据集_12

导出成为shp文件。

accdb导入mysql_accdb导入mysql_13

3.在ArcMap中整理数据

复制ArcGIS原型系统的数据,建立同样的格式如图

accdb导入mysql_数据库_14

找到警察局的数据,点击开始编辑清空所有的数据。

accdb导入mysql_数据结构与算法_15

accdb导入mysql_数据_16

然后保存它

accdb导入mysql_accdb导入mysql_17

然后我们将导出的shp文件加载进来(加载前,请确保两个数据的空间参考一致,以防加载中出现问题)。在公安局数据GAJ_PT处右键,选择“加载”再选择“加载数据…”

accdb导入mysql_数据库_18

选择我们从SuperMap Deskpro导出的shp文件

accdb导入mysql_数据集_19

选择需要导入的源字段

accdb导入mysql_数据_20