孙俊英 刘 吉
(贵州省第二测绘院,贵州贵阳 550004)
浅谈地理信息数据格式转换方法
孙俊英刘吉
(贵州省第二测绘院,贵州贵阳 550004)
随着地理信息产业的快速发展,其数据格式也越来越多样化,数据格式之间的转换越来越重要,本文选取市场上广泛使用的MapGIS和ArcGIS软件,讨论了MapGIS和ArcGIS两种GIS软件的数据格式,探讨了MapGIS数据向ArcGIS数据格式转换的几种方法,对比分析了各种转换方法中点、线、面各类要素转换前后的差异,讨论利用软件本身的转换功能进行数据格式转换要注意的问题和解决方案。
MapGIS ArcGIS 数据转换 地理信息系统
随着各领域数字化进程的推进和地理信息技术的发展,GIS已广泛应用于各行各业,涉及到多学科多部门,但各部门在开发地理信息系统时,通常根据本部门的特定情况,采用不同的数据建模方法,选用不同厂商的软件。由于不同软件采用不同的空间数据格式,对地理数据的组织有很大的差异,使得各领域在共同协作中进行空间信息共享和交流时存在障碍,导致空间数据利用率低,数据重复采集和不兼容现象时有发生。因此,不同数据格式之间的无损转换和共享变得尤为重要。
目前,在国土资源管理中县乡级的数据一般采用MapGIS格式,而省市级或直管部门一般都采用大型关系数据库来集中管理数据,使用ArcGIS格式;二者在目前国内市场上都拥有很多的用户。MapGIS是中国地质大学开发的地理信息系统软件,是一款优秀的国产GIS软件,它的地图编辑功能很强大而且易于操作,它的数据库管理系统和国土业务贴合地非常紧密,因此获得了国内用户的欢迎,但是它在空间数据库的支持方面性能不太理想,空间分析功能不够强大。ArcGIS是美国ESRI(Environmental Systems Research Institute Inc.)公司的旗舰产品,对空间数据库的支持很强,便于大型空间数据的管理和分析,但是其地图编辑工具国内用户使用不方便,不易操作。很多用户在MapGIS平台下作图,然后将数据转换装换到ArcGIS平台下。如何把MapGIS 文件向ArcGIS文件进行完整无损地转换,以便实现数据的标准化和共享显得尤为重要。本文旨在探讨MapGIS向ArcGIS的数据转换实现的方法。
表1 数据转换方式结果比较
2.1MapGIS的数据格式
MapGIS数据管理的核心是工作区,存放空间对象的空间数据、拓扑数据、图形数据和属性数据,每个工作区都对应于一个数据文件。工作区分为点、线、面、网、表5种类型。在一个工作区中,存放许多空间实体的个体,每个体都有唯一的实体号(点号、线号、区号、网号、记录号等),对实体数据的存取的主要依据实体号。
MapGIS将现实中的地理对象抽象成点、线、区三种图形特征,在计算机环境中分别对应*. WT、*. WL、*. WP 三类文件,每个文件内部最大可划分为256个图层,同类特征对象的个体抽象可表示在不同图层内,对象的属性信息也可直接附加在文件内。这样,理论上在不考虑同类特征对象间结构差异的情况下,只需要点、线、区三个文件就可以制作一幅完整的数字地图。
MapGIS的数据交换格式是ASCⅡ码的明码文件,其文件结构由文件头和数据区两部分组成。文件头记录的是文件的版本和类型(点、线、面)信息;数据区记录的是实体的几何信息。明码文件按要素类型分为点文件(*.wat)、线文件(*.wal)、区文件(*.wap)三种。明码文件只有要素的几何信息而没有要素的属性信息,只能用于地图的显示和出版,必须转换为MapGIS的标准文件,才能进行GIS分析与属性信息查询等操作。在MapGIS软件的文件转换模块中,提供了对dxf、mif、E00、shape等文件的输入输出功能。
2.2ArcGIS的数据格式
ArcGIS通过空间数据引擎ArcSDE存贮Geodatabase对象,ArcSDE以层的方式来管理地理数据,具有共同属性项的一类要素可以放到一层中,每个数据库记录对应一个实际要素。ArcSDE为数据库中各层(layer)建立了空间索引。空间索引是将层从逻辑上分成一个个小块,称为“cell”,层中的要素则分解到各cell中加以描述,并将此描述信息写到索引表中。
ArcGIS的数据格式与表示的几何特征的类型没有关系。它的矢量数据格式主要有Shape、Coverage、Geodatabase和E00。Shape是一种矢量型数据文件,该文件不存储拓扑信息,通常一个Shape由一个主文件,索引文件和DBASE文件组成, ESRI已公开其数据格式;Coverage也是一种矢量型数据文件,但其几何和空间拓扑关系存储在二进制文件中,与之相关的属性数据则被存放在INFO表或RDBMS中,Coverage是要素类组织后的集合,每个要素类都是一些点、线、面或文本的集合,一个或多个Coverage要素被用于构造地理要素; Geodatabase一种采用标准关系数据库技术来表现地理信息的数据模型,它把地理数据组织成层次型的数据对象,包括对象类、要素类、要素数据集,一个对象类在地理数据库中是一个表,存储非空间数据,一个要素类是具有相同几何类型和相同属性的要素集合,一个要素数据集是共享空间参考系统的要素类集合;E00是文本形式的数据交换格式,用于不同平台之间的数据转换。
2.3二者的差异
(1)属性结构。在MapGIS中字段类型有很多种,包括字符串、字节型、短整型、长整型、浮点型、双精度型等17种类型,字段名称最长能容纳20个字节;而ArcGIS中属性结构随着格式的不同而不同,Shape格式的数据字段类型包括短整型、长整型、浮点型、双精度型、文本、日期型等6种,而字段名称也只有1 0个字节,Pers onal Geodatabase就不同了,字段类型较Shape中增加Blob、Raster、Guid等3种类型,字段名也能容纳64个字节。
(2)图形整饰。MapGIS的点、线、面文件可以存储图形的渲染信息,但是在ArcGIS中图形的整饰信息不依附于要素集,整饰信息可以通过工程来存储。
(3)注释。在MapGIS中,注释是存储在点文件中,在其它几何类型文件中是不能存储的。而ArcGIS中,文字可以以标注的形式依附于要素类存在,注释文件也有,但是在Shape文件中是不存在的,可以在其它格式中存在。
3.1数据转换模式
目前, GIS软件本身自带的空间数据格式转换功能主要存在3种模式。一是基于dxf的数据转换模式。dxf (Drawing Exchange Format)是AutoCAD公司开发的用于AutoCAD与其它软件之间进行数据交换的数据文件格式,是AutoCAD程序使用的ASCII格式的绘图交换文件。二是基于GIS外部文本文件的数据转换模式,由于商业秘密或安全等原因,用户难以读懂GIS软件本身的内部数据格式文件,为促进软件的推广应用,部分GIS软件向用户提供了外部文本文件。三是基于直接数据访问的数据转换模式,直接数据访问是指在一个GIS软件中实现对其他软件数据格式的直接访问。
3.2MapGIS向ArcGIS的数据转换方式
根据MapGIS和ArcGIS软件本身的数据格式转换功能,由于ArcGIS不能直接读取MapGIS格式的数据,结合文件转换过程中MapGIS输出文件类型和ArcGIS输入文件类型的特点,MapGIS向ArcGIS数据格式转换主要可通过5种方式实现:
(1)通过dxf文件进行转换;
(2)通过Arc/Info标准格式文件进行转换;
(3)通过Shape文件进行转换;
(4)通过Map Info的mif文件进行转换;
(5)通过E00文件进行转换。
对于上述5种转换方式,具体操作时,先通过MapGIS的文件转换模块将拓扑处理好的各点、线、面要素图层分别转换为dxf、Arc/ Info标准格式、shape、mif和E00文件,然后通过ArcGIS实现对这些中间格式数据的读取或转换输入,对于Arc/Info标准格式和shape格式的数据,ArcGIS可直接读取;对于dxf、mif和E00格式的数据,可利用ArcToolbox中的Data InteroperabilityTool模块转换成ArcGIS的Geodatabase数据,再进行后期处理。
3.3转换结果对比
空间数据转换的内容主要包括空间定位信息、空间关系信息和属性信息3个方面。由于MapGIS与ArcGIS的数据结构和数据模型不同,空间数据转换后难免会存在一些差异,且空间数据经由中间格式转换后,线与面的拓扑关系基本丢失。因此,本文研究空间数据转换结果的好坏,主要基于空间定位信息和属性信息比较转换前后图形与属性的一致性与完整性。通过大量的转换实践,各转换方式空间数据转换前后结果对比,如表1所示。
通过上述转换结果分析,各方法转换效果均不太理想。但实际转换工作中,转换者可根据图形本身的特点和自身对图形的要求选取其中一种或结合几种方法进行转换。从操作上讲,采用Shape文件和Arc/Info标准格式文件转换的方法只需1次转换,操作简单方便,其它3种方法均需进行二次转换;从转换效果上讲,通过mif和E00转换不仅能保证图形完整性、准确性,而且属性数据也是完整的。
3.4转换过程中要注意的问题
在MapGIS向ArcGIS数据转换过程中要注意以下问题:
(1)属性结构和内容检查。对于属性字段要注意兼容性,不能包含ArcGIS不支持的字段类型,属性值中不能含有异常字符。如注记点文件应有注记内容属性,不然转入ArcGIS 后注记点文件会成为一个标识点。
(2)参数信息丢失。对于点状、线状、面状要素,MapGIS文件转换后在ArcGIS中均以缺省方式显示出来,且对应的符号、线性、颜色、大小、宽度、填充等信息丢失。为减少转换后数据的修改编辑工作量,转换前应将原始数据在MapGIS内严密组织,数据主题分层清楚,使之转换到ArcGIS后图层分类仍保持不变,以便利用ArcGIS中进行统一配置。
(3)拓扑错误检查。为保证数据的正确性,文件转换过来之后,要对文件进行拓扑错误检查。针对区数据,主要检查重叠弧段、区拓扑错误检查,然后进行清弧重叠坐标及自相交、清除微短弧线;针对线数据,主要进行重叠线检查、线拓扑错误检查、清线重叠坐标及自相交、清除微短线。
(4)投影参数配置和图形修复。为了能保证转换后的数据能正常地进行分析和整合,各图层必须具有正确的投影,所以需要投影参数配置,同时必须进行数据修复,修复的目的是为了保证MapGIS的数据转换后能够符合ArcGIS的制图规定。
数据格式的转换也可通过多种方式实现,本文只是在充分利用软件本身转换功能的前提下探讨MapGIS向ArcGIS数据转换的方法。为尽量保持数据转换前后的一致性,用户应充分了解数据转换过程中可能出现的各类问题,及时检查和纠正数据转换后所出现的错误,修复丢失的信息,减少数据转换造成的错误。在信息高速发展的今天,如何使数据资源最大化地共享,如何充分利用软件的优势互补,优化数字化生产的工艺流程,降低生产成本,提高劳动产产率,是推动GIS行业向前的一个重要问题,有待于今后进一步的探讨和总结。实现由MapGIS数据向ArcGIS数据的方便的格式转换,将使用户可以充分利用MapGIS方便的图层数据编辑功能和ArcGIS强大的空间数据库支持能力,极大地方便了地图数据制作和空间数据的维护。
[1]胡良军,邵明安.接受外部空间数据的初步探讨—兼论ArcInfo的数据接受方式[J]遥感技术与应用,2000,15(4):256—269.
[2]张建军,张静波.MapGIS6.1向ArcGIS8.1的数据转换[J].微机发展,2003(11):14-16.
[3]王海琴,等.MapG1S到ArcSDE的数据转换方法与实践[J].国土资源遥感,2005(3):30-33.
[4]陈勇等.数字图数据到MAPGIS数据的格式转换[J].测绘学院学报,2004(3):154-156.
[5]叶国华.空间数据格式转换与信息共享[J].地矿测绘,2008,24(2):4-6.
[6]黄杏元,马劲松,汤勤.地理信息系统概论[M].北京:高等教育出版社,2001:89.