资源描述:
[收稿日期] 2008-05-27 [作者简介]任志远(1985-),男,安徽亳州人,硕士研究生,研究方向土地信息系统。 MapGIS 到 ArcGIS 数据转换方法的 分析研究 任志远 (南京农业大学 公共管理学院,江苏 南京210095) 摘要 由于MapGIS和ArcGIS软件在地图编辑和数据分析方面各具优势,在国土资源管理工作中使用比较广泛, 两者间的数据转换也十分频繁。 如何对其进行快捷、有效、无损失的数据转换,是众多GIS用户和研究者所关心的。 介绍一种直接读取MapGIS数据文件的转换方法,比较了MapGIS与ArcGIS存储结构的异同点,分析点状地物、线 状地物、面状地物转换过程的差别,详述了采用COM技术编程加以实现数据转换的过程。 关键词MapGIS;ArcGIS;数据转换 中图分类号TP311.52文献标识码A文章编号1672-0687(2009)03-0077-04 在地理信息系统中, 不同平台间能进行数据转换是至关重要的, 我国国土资源部许多单位主要使用 MapGIS软件, 它的地图编辑功能很强而且易于操作, 很多GIS数字资料的数据加工、 建库工作都是基于 MapGIS这一平台来加以实现的。 而ESRI公司的旗舰产品ArcGIS在对空间数据库开发、一体化管理方面独 具优势。许多国土资源信息的数据变更、数据应用都是在ArcGlS平台中进行,这两个GIS平台间数据转换需 求是经常存在的。 目前空间数据格式转换主要有3种模式(1)把不同格式的数据经过专门的数据转换程序,变成目标系 统的数据格式,这是当前GIS软件系统进行数据转换的主要方法。 (2)采用直接数据访问模式,它使用单个 GIS软件存贮多种数据格式, 如果宿主GIS软件数据格式发生变化, 各数据集成软件必须提供相应升级版 本,在实际工作中导致对宿主GIS软件数据格式的支持存在滞后。 (3)基于公共接口的地理信息系统互操作 模式,这是一种空间数据互操作接口规范,GIS软件商开发遵循这一接口规范的空间数据读写函数,实现异 构空间数据库的互操作[1]。 1常用的转换方法分析 目前将MapGIS据转换为ArcGIS数据的过程中,主要采用的方法就是第一种模式,即通过数据转换程 序将MapGIS数据首先转换为ArcGIS能够读取的文件格式,然后再写入ArcGIS的数据库系统。 E00数据是一种ArcGIS提供的外部交换格式,用于和其他GIS系统进行数据转换。 通过这种格式转换 的主要过程是(1)将MapGIS的点数据、线数据和面数据转换到E00格式;(2)在ArcGIS中的ArcToolBox中 选择工具将E00数据转换到Coverage格式;(3)在ArcEdit中对线数据和面数据进行拓扑重建,这样就完成 了由E00到Coverage的转换, 接着利用ArcToolBox中的其他工具就可以很方便地转换到其他的ArcGIS格 式。 但上述转换方法一般很难对MapGIS数据文件进行一次性批量转换,此外,还存在数据失真的问题,由 于对空间对象(点、线、面)参数、拓扑规则处理方式不同,很难保证转换后数据前后一致。 同时两种GIS平台 有各自的渲染方式,因此,图形渲染(Render)样式无法转换,利用GIS系统自带功能无法实现图形渲染方式 第26卷第3期苏 州 科 技 学 院 学 报 (自 然 科 学 版)Vol.26 No.3 2009年9月Journal of Suzhou University of Science and Technology(Natural Science)Sep. 2009 2009年苏州科技学院学报(自然科学版) 自动转换,需要再次手工进行颜色、符号等样式的设定,工作量很大。 针对这些问题, 各种GIS软件都提供了访问其本身的GIS数据的组件, 如ArcObject可以访问Shape、 Coverage等矢量数据格式;MapGISSDE可以访问MapGIS的WT、WL、WP等文件的数据信息。 利用GIS组件 的这种特点可以自己灵活的编写与其他数据格式转换的程序,或者在GIS系统的二次开发中集成数据格式 转换的功能,实现GIS数据共享。 文中重点介绍此类方法的原理及转换的主要过程。 2MapGIS数据结构分析 空间实体是MapGIS数据操作的基本单位,其数据类型有空间数据、拓扑数据、图形数据、属性数据。 这 些数据都存储在工作区中,MapGIS对数据管理就是通过对工作区的操作来完成的。在一个工作区中,每个个 体都有唯一的序号,称为实体号(点号、线号、区号、网号、记录号等)。 对实体数据的存取主要依据实体号。 实体类型有点、线、区、节点、网。 不同类型的数据有着不同的特点(1)结点实体。 结点的空间数据与点 实体一样,是二维坐标点,其拓扑数据记录它所连接的线;(2)线实体。MapGIS中的线由多个坐标点组成,线 实体的空间数据就是存放在工作区中的坐标点序列(D_DOT结构)。线拓扑(LIN_TOP结构)记录线两端的结 点和线两旁的区;(3)区实体。 区由线实体(在工作区中又被称为弧段)围成,它的空间数据主要记录这些线 的序号。 3ArcGIS数据结构分析 ArcGIS的数据格式与MapGIS的不同,它的数据格式与表示的特征的类型没有关系。它的数据格式主要 有Shape、Coverage、GeoDatabase、E00。 文中主要通过GeoDatabase文件格式进行数据转换。ArcGIS通过空间 数据引擎ArcSDE存贮Geodatabase对象,ArcSDE是目前空间数据和属性数据组织最好的产品之一,采用的 是全新的Geodatabase数据模型。ArcSDE以层的方式来管理地理数据,将具有共同属性项的一类要素放到一 层中,每个数据库记录对应一个实际要素[2]。 GeoDatabase数据模型的体系结构[3](见图1)由测绘科学数据集(Feature Dataset)、栅格数据集(Raster Dataset)、Tin数据集(TIN Dataset)、对象类(Object Class)、要素类(FeatureClass)、关系类(RelationshipClass)、 域值(Domains)、规则 (Rules)、集合网络、表等要素组成[4]。 图1GeoDatabase数据结构体系 78 第3期 4数据转换对应对照 由于MapGIS和GeoDatabase的几何模型存在差 别,造成了不同的图形坐标存储方式,因此,要实现两 者的转换,几何对象转换是关键。 在数据转换前首先需 要考虑实体几何类型的对照问题, 然后根据该类型创 建相应的GeoDatabase要素类,其几何类型的对照关系 见表1[5]。 而点、线、面数据的显示方式也有所差异, MapGIS渲染转换成ArcGIS渲染时需要对应的内容很 多,主要有表2中的5种。 由于在实际符号库中,相同 符号在MaPGIS与ArcGIS中可能编号不同, 因此,需 要用对照表将两者的子图、线样式、面样式关联起来。 ArcGIS渲染后保存到MXD工程文件中(表2、3)。 5转换过程 在MapGIS SDK的 基 础 上 进 行 二 次 开 发 , 对 MapGIS数据文件内容全读取, 然后利用ArcGIS提供 的开发包ArcObject调用相应的接口实现数据向目标 文件的写入, 并保存成ArcGIS所支持的数据格式,实 现ArcGIS平台对MapGIS数据的有效读取[5~10]。 主要原 理和步骤见图2。 图2数据转换流程图 (1)MapGIS文件内容全读取。 调用MapGIS SDK软件开发包对MapGIS文件内容全读取,读取MapGIS 数据库中的空间及属性数据①根据条件检索需要转换的MapGIS的一个图层,对要素进行规范性检查; ②依次在检索结果中读取空间数据;③读取并检查属性数据。 (2)ArcGIS数据自动生成。 调用ArcObject相应的接口实现数据写入数据库中的空间及属性数据①转 化为ArcGIS格式的空间数据;②加入属性数据。 (3)渲染样式自动生成。MapGIS渲染向ArcGIS转换时,大多可以通过对照方式,在ArcGIS寻求相对应 的渲染样式,通过ArcMap提供的COM接口,读取数据文件扩展字段中保存的渲染信息,调用IFeature Renderer、继承ISymbol接口的点、线、面符号等接口来实现数据文件(体现为图层)在ArcMap中的渲染, 并创建MXD文件。 但也有一些特殊情况,必须对原数据进行修改。 任志远MapGIS到ArcGIS数据转换方法的分析研究79 2009年苏州科技学院学报(自然科学版) Set pRenderNew UniquueRenderer Set pReRenderpRender pRender.DefaultSymbolpSymbol设置缺省的符号渲染样式 pRender.Field(0)“ExtSymbol”按照ExtSymbol字段的不同值渲染 For i0 To Count-l根据mpSymbol数组中不同的符号样式进行渲染 If Not mpSymbol(i)is Nothing Then pRender.AddValuei1,“ExtSymbol”,mpSymbol(i).AsSymbol pRender.Label(il)i1 End If End If Next i ①拓扑校验空间数据的正确性;②将空间数据按点、线及多边形要素层分别存储到ArcSDE;③验证是否 存储成功。 如何使数据资源最大化的共享,如何充分达到软件的优势互补,优化数字化生产的工艺流程,降低生产 成本,提高劳动生产率,是推动GIS行业向前发展的一个重要问题。 通过对MapGIS简单的二次开发可以扩 展原系统的功能,将现有的MapGIS格式数据转换为ArcGIS格式数据,迅速提高数据使用效率,集成不同平 台功能与数据,为各级部门使用GIS数据提供了方便,使地理信息系统更符合实际工作中的要求。 参考文献 [1]苗小利.一种高效的MAPGIS数据转换方法[J].矿山测量,2007,(3)45-47. [2]索俊锋.基于MapGIS6.X研究和ArCGIS9.0平台的数据格式转换研究[J].国土资源信息化,2006,(4)29-32. [3]冯杭建,麻土华,刘伟宏,等. MapGIS到Geodatabase数据自动批量转换实践研究[J].测绘科学,2007,32(3)181-183. [4]王海芹,杨永侠,严泰来. MapGIS到ArcSDE的数据转换方法与实践[J].国土资源遥感,2005,(3)30-33. [5]王创新,甘羲,胡勇军. ArcGIS与MapGIS空间数据转换技术与方法[J].计算机与现代化,2006,(8)35-37. [6]吴信才.新一代MapGIS[J].地理信息世界,2004,2(2)3-7. [7]吴飞,张加龙,赵俊三,等.土地利用现状数据转换方法与问题探讨以云南省为例[J].国土资源科技管理,2006,(6)76-79. [8]符海芳,向南平,刘彦花.一种可行的GIS数据交换方法[J].四川测绘,2002,25(3)121-125. [9]陈欣.浅谈MapGIS到ArcGIS数据自动转换实现[J].国土资源信息化,2005,(5)44-47. [10]陈小虎,董竹,陈凯. MapGIS文件快速转换Shapefile文件的研究[J].城市勘测,2008,(1)53-55. Data Conversion from MapGIS to ArcGIS REN Zhi-yuan (College of Public Administration,Nanjing Agricultural University, Nanjing 210095,China) AbstractMapGIS and ArcGIS, two geographic ination system plats, are widely used in China because of their advantages in map compilation and data analysis. Data conversion is frequently done between the two softwares, and thus it becomes the GIS customers and researchers concern as to how to convert the data quickly and effectively with no loss. This paper has introduced a converting by comparing the differences of the point, the line and the polygon ination between the two GIS softwares, and then it has discussed how to use the COM technology to convert data. Key wordsMapGIS;ArcGIS;conversion责任编辑谢金春 80
展开阅读全文