第
7卷第
4期
广东土地科学
Vol.
7
No.
4
2008年8月
GUANGDONG
LAND
SCIENCE
Aug.,
2008
MapGIS到
ArcGIS数据转换方法的分析研究
任志远
(南京农业大学公共管理学院
,江苏南京
210095)
摘要
:由于在地图编辑和数据分析方面各具优势
,MapGIS和
ArcGIS软件在国土资源管理工作中使用比较广泛
,两者
间的数据转换也十分频繁
,如何对其进行快捷
,有效
,无损失的数据转换
,是众多
GIS用户和研究者所关心的。本文对
一种直接读取
MapGIS数据文件的转换方法进行了分析介绍
,通过比较
MapGIS与
ArcGIS存储结构的异同点
,对比
分析点状地物、线状地物、面状地物转换过程的差别
,最后论述了采用
COM技术编程加以实现数据转换的整个流程。
关键词
:MapGIS;ArcGIS;数据转换
Data
Conversion
from
MaPGIStoArcGIS
RENZhi-yuan
(1.CollegeofPublicAdministration,NanjingAgricnlturalUniversity,Nanjing210095,China)
Abstract:
MapGISand
ArcGIShave
tobe
the
twogeographic
information
systemplatforms
in
China
because
oftheir
advantages
in
map
compilationanddata
analysis.
Itisa
frequentthingtotranslate
the
data
betweenthe
twosoftwares,
anditisdifficultlytomake
it
quickly,
effectiveandnon-loss.Thispaperintroducedaconvertingmethodbycomparingthedifferenceofthepoint,theline,thepolygoninformation
betweenthetwoGISsoftwares,thenintroducehowtousetheCOMtechnologytoconvertthedataconversion.
Keywords:
MapGIS;ArcGIS;conversion
在地理信息系统中 ,不同平台间能进行数据转换是至关重要的 ,我国国土资源部门许多单主要使用 MapGIS软件
,它的地图编辑功能很强而且易于操作
,很多 GIS数字资料的数据加工 ,建库工作都是基于 MapGIS这一平台来加以实现的。而
ESRI公司的旗舰产品 ArcGIS在对空间数据库开发、一体化管理方面独具优势。许多国土资源信息的数据变更、数据应用都是在 ArcGlS平台中进行 ,这两个 GIS平台间数据转换需求是经常存在的。
目前空间数据格式转换主要有三种模式 :一是把不同格式的数据经过专门的数据转换程序 ,变成目标系统的数据格式 ,这是当前 GIS软件系统进行数据转换的主要办法。二是采用直接数据访问模式 ,它使用单个 GIS软件存贮多种数据格式 ,但如果宿主 GIS软件数据格式发生变化 ,各数据集成软件必须提供相应升级版本 ,实际工作中导致对宿主 GIS软件数据格式的支持存在滞后。三是基于公共接口的地理信息系统互操作模式 ,是一种空间数据互操作接口规范 ,GIS软件商开发遵循这一接口规范的空间数据读写函数 ,实现异构空间数据库的互操作。
1常用的转换方法分析
目前将 MapGIS据转换为 ArcGIS数据的过程中,主要采用的方法就是第一种模式 ,即通过数据转换程序将 MapGIS数据首先转换为 ArcGIS能够读取的文件格式 ,然后再写入 ArcGIS的数据库系统。
E00数据是一种 ArcGIS提供的外部交换格式 ,用于和其它 GIS系统进行数据转换。通过这种格式转换的主要过程是 :首先将点数据、线数据和面数据转换到 E00格式 ;然后在 ArcGIS中的 ArcToolBox中选择工具将 E00数据转换到 Coverage格式 ;然后在 ArcEdit中对线数据和面数据进行拓扑重建 ,这样就完成了由 E00到 Coverage的转换 ,接着利用 ArcToolBox中的其它工具就可以很方便地转换到其它的 ArcGIS格式。
上述转换方法一般很难对 MapGIS数据文件进
第 4期任志远 :MapGIS到 ArcGIS数据转换方法的分析研究
行一次性批量转量 ;同时还存在数据失真的问题 ,由于不同平台的空间对象 (点、线、面)参数、拓扑规则处理方式不同 ,因此很难保证转换后数据前后一致 ;三是图形渲染 (Render)样式无法转换 ,不同 GIS平台有各自的渲染方式 ,目前利用 GIS系统自带功能无法实现图形渲染方式自动转换 ,需要再次手功进行颜色、符号等样式的设定 ,工作量很大。
目前 GIS组件式开发技术逐渐成熟 ,各种 GIS软件基本都提供了访问其本身的
GIS数据的组件 ,如 ArcObject可以访问 Shape、Coverage等矢量数据格式;MapGISSDE可以访问 MapGIS的 WT、WL、WP等文件的数据信息。利用 GIS组件的这种特点可以自己灵活编写与其他数据格式转换的程序 ,或者在 GIS系统的二次开发中集成数据格式转换的功能 ,实现 GIS数据共享。本文就重点介绍此类方法的原理及转换的主要过程。
2 MapGIS数据结构分析
空间实体是 MapGIS数据操作的基本单位 ,其数据类型有 :空间数据 ,拓扑数据 ,图形数据 ,属性数据。这些数据都存储在工作区中 ,MAPGIS对数据管理就是通过对工作区的操作来完成的。在一个工作区中 ,每个个体都有唯一的序号 ,称为实体号 (点号、线号、区号、网号、记录号等 )。对实体数据的存取主要依据实体号。
实体类型有 :点,线,区,节点 ,网。不同的类型的数据有着不同的特点
(1)结点实体。结点的空间数据与点实体一样 ,是二维坐标点 ,其拓扑数据记录它所连接的线
(2)线实体。 MapGIS中的线由多个坐标点组成 ,线实体的空间数据就是存放在工作区中的坐标点序列 (D_DOT结构)。线拓扑 (LIN_TOP结构 )记录线两端的结点和线两旁的区。
(3)区一实体。区由线实体 (在工作区中又被称为弧段 )围成 ,它的空间数据主要记录这些线的序号。
3 ArcGIS数据结构分析
ArcGIS的数据格式与 MapGIS的不同 ,它的数据格式与表示的特征的类型没有关系。它的数据格式主要有 Shape,Coverage,GeoDatabase和 E00。本文主要通过 GeoDatabase文件格进行数据转换。 ArcGIS通过空间数据引擎 ArcSDE存贮 Geodatabase对象 ,ArcSDE是目前空间数据和属性数据组织最好的产品之一 ,采用的是全新的 Geodatabase数据模型。ArcSDE以层的方式来管理地理数据 ,将具有共同属性项的一类要素放到一层中 ,每个数据库记录对应一个实际要素。
Geodatabase数据模型的体系结构
(图 1)由要素数据集 (Feature Dataset)、栅格数据集 (Raster Dataset)、Tin数据集 (TIN Dataset)、对象类 (Object Class)、要素类 (FeatureClass)、关系类 (RelationshipClass)
、域值 (Domains)、规则 (Rules)、集合网络、表等要素组成。
4数据转换对应对照
由于 MapGIS和 Geodatabase的几何模型存在差别 ,造成了不同的图形坐标存储方式 ,因此要实现两者的转换 ,几何对象转换是关键。因此在数据转换前首先需要考虑实体几何类型的对照问题 ,然后根据该类型创建相应的 Geodatabase要素类 ,其几何类型的对照关系如表
1所示。
表
1数据对照表 序号 MapGISArcGIS1 点(point)点(point)、注记 (annotation)2 线(line)线(polyline)3区(reg)面(polygon) 而点、线、面数据的显示方式也有所差异 , MapGIS渲染转换成 ArcGIS渲染时需要对应的内容很多 ,主要有下表 5种。由于在实际符号库中 ,相同符号在 MaPGIS与 ArcGIS中可能编号不同 ,因此需要用对照表将两者的子图、线样式、面样式关联起来。 ArcGIS渲染后保存到 MXD工程文件中 (表 2、3)。
广东土地科学第
7卷
表
2渲染对照表
序号
MapGISArcGIS1
子图点符号
2
线样式线符号
3
面样式
面符号
4
CMKY颜色RGB5
注视显示方式文本符号
表
3符号对照表
序号
符号MapGIS
ArcGIS
1
点符号M001
A001
2
面符号
M001
A001
.
...
5转换过程
通过在
MapGISSDK的基础上进行的二次开发
,
对
MapGIS数据文件内容全读取
,然后利用
ArcGIS提
供的开发包
ArcObject调用相应的接口实现数据向目
标文件的写入
ArcSDE,并保存成
ArcGIS所支持的数
据格式
,实现
ArcGIS平台对
MapGIS数据的有效读
取。主要原理和步骤具体分为以下三个方面
(见图
2)。
(1)MapGIS文件内容全读取
调用
MapGISSDK软件开发包对
MapGIS文件
内容全读取
,读取
MapGIS数据库中的空间及属性数据
①根据条件检索需要转换的
MapGIS的一个图
层,对要素进行规范性检查
②依次在检索结果中读取空间数据
;
③读取并检查属性数据。
(2)ArcGIS数据自动生成
调用
ArcObject调用相应的接口实现数据写入数
据库中的空间及属性数据
①转化为
ArcGIS格式的空间数据
;
②加入属性数据。
(3)渲染样式自动生成
ArcGIS数据与渲染分开保存
,数据保存在
Shape、Coverage、Geodatabase等格式的数据文件
第
4期任志远:MapGIS到
ArcGIS数据转换方法的分析研究
中,渲染样式保存在
MXD工程文件中。通过
ArcMap
提供的
COM接口,调用
ArcObject相关接口、类在
ArcMap中直动生成渲染,并创建
MXD文件。
①拓扑校验空间数据的正确性;
②将空间数据按点、线及多边形要素层分别存储
到
ArcSDE
③验证是否存储成功
6结束语
如何使数据资源最大化地共享,如何充分利用软
件的优势互补,优化数字化生产的工艺流程,降低生产
成本,提高劳动生产率,是推动
GIS行业向前的一个重
要问题,通过对
MapGIS简单的二次开发可以扩展原
系统的功能,将现有的
MapGIS格式数据转换为
ArcGIS
格式数据,迅速的提高数据使用效率,集成不同
平台功能与数据,为各级部门使用
GIS数据提供了方
便,使地理信息系统更符合实际工作中的要求。
参考文献(References):
[1]苗小利.一种高效的
MAPGIS数据转换方法[J].矿山测量.2007,
(3):
45-47.
[2]索俊锋.基于
MapGIS6.X研究和
ArCGIS9.0平台的数据格式转换
研究[J].国土资源信息化.2006,(4):29-32.
[3]吴信才.新一代
MAPGIS.地理信息世界[J].2004,(2):3-7.
[4]吴飞,张加龙,赵俊三,李芳.土地利用现状数据转换方法与问题探
讨————
——以云南省为例.国土资源科技管理[J].2006,(6):76-79.
[5]符海芳,向南平,刘彦花.
MapGISArcGIS
需积分: 0 54 浏览量
2009-03-21
13:33:54
上传
评论
收藏 5KB RAR 举报
heguo2chao3
- 粉丝: 16
- 资源: 5
最新资源
- 基于matlab实现电力系统仿真计算软件包,包括潮流计算,最优潮流计算等.rar
- 基于matlab实现电力系统各种故障波形仿真,单相接地故障,两相间短路,两相接地短路,三相短路等.rar
- 基于matlab实现电动汽车动力性,爬坡性,续驶里程等性能仿真.rar
- Python动态烟花代码.pdf
- 基于matlab实现串口发送接收数据 可配置端口,波特率等 发送可选择ASCII方式或HEX方式
- matlab基于BP神经网络手写字母识别(单一).zip代码9
- 基于matlab实现编写的串口调试工具,数据接收部分采用中断方式,保证了实时的数据显示
- 基于matlab实现39节点电力系统合闸角调控过程中的机组和负荷的灵敏度计算.rar
- HBase数据库性能调优
- 原生微信小程序源码 - -首字母排序选择
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0