ArcGIS,MapInfo到MapGIS数据格式的转换

2010-07-30 03:02赵瑞斌
天津城建大学学报 2010年1期
关键词:数据格式对话框软件

辛 蕊,赵瑞斌

(天津城市建设学院 a. 土木工程系;b. 天津市软土特性与工程环境重点实验室,天津 300384)

随着地理信息系统 GIS(geographic information systems)在我国各个领域日益广泛的应用,大量 GIS数据资源应运而生.但由于数据存储格式和结构的差异,使得数据的综合利用存在诸多不便.鉴于中国地质行业要求 MapGIS格式文件为资料汇交的标准格式,笔者从实用的角度出发,提出 ArcGIS,MapInfo向MapGIS数据转换的方法.

1 软件及相应数据格式概况

1.1 MapGIS软件及其数据格式

MapGIS是中地公司开发的工具型地理信息系统软件,它的特点是:输入、编辑、拓扑一体化.同时,在制图功能方面(包括各种专题图例符号的制作)较其他软件方便、灵活,但它对空间数据库的支持性能不太理想.

MapGIS的数据交换格式是 ASCII码的明码文件,其文件结构由文件头和数据区两部分组成.文件头记录的是文件的版本和类型信息,数据区记录的是实体的几何信息.明码文件按要素类型分为点(*.wt)、线(*.wl)、区(*.wp)3 种文件[1].

1.2 ArcGIS软件及其数据格式

ArcGIS是美国环境系统研究所(ESRI)开发的旗舰产品,它对空间数据库的支持很强,但是地图编辑功能较弱.

与 MapGIS不同,ArcGIS的数据格式与表示特征的类型无关,针对全国地形图等常用资源,主要有shape,coverages两种格式:shape是一种矢量数据格式,本身支持点、线、区域的几何特征,不处理拓扑数据结构文件头[2],通常由一个主文件、索引文件和dbase文件组成;coverages也是一种矢量数据格式,几何和空间拓扑关系存储在二进制文件中,与之相关的属性数据则被存放在 Info表或 RDBMS中,coverages是对要素类组织后的集合,每个要素类都是一些点、线、面或文本的集合,一个或多个 coverages要素被用于构造地理要素[3].

1.3 MapInfo软件及其数据格式

MapInfo是美国 MapInfo公司推出的适用于不同平台的GIS系统,对空间数据管理采用无拓扑矢量结构.它的主要优势是:在空间数据库管理和分析方面简单、易学、实用,但 GIS空间分析能力较弱,且制图功能欠佳,对制作复杂的图件尤其存在明显不足,如点、线不能随比例尺缩放,打印控制不够精确等[4].

在 MapInfo中每张地图被称为一个表.每个表由图形(空间对象)和数据(属性)构成,它们分别被存放到 tab(属性数据的表结构文件),dat(属性数据文件),map(空间数据文件)和 id(交叉索引文件)四个文件中.另外,MapInfo还给出了用于格式交换的数据结构,即mif文件与mid文件.其中,mif文件保存了该 MapInfo表的表结构及表中所有空间对象的空间信息:每个点对象的点位坐标、符号样式;每个线对象的节点个数、节点坐标、线样式;每个区域对象包含的子区域个数,每个子区域的节点数、节点坐标、填充模式.而mid文件则按记录顺序保存了每个空间对象的所有属性信息.这两个文件都为文本性质的文件,用户可以通过相应的读写方法实现对文件内容的读写.

2 文件转换方法

2.1 ArcGIS文件转换为MapGIS文件

常见的 ArcGIS文件主要有 coverages(*.adf)和shape(*.shp)两种,由于 coverages文件以二进制形式存储,需要将其先转化为shape文件.

2.1.1 coverages文件转化为shape文件

首先要创建一个空的shape文件.在ArcGIS的ArcCatalog模块目录树中,单击需要在其中创建shape文件的文件夹,在右键菜单中选择 New-Shapefile,打开Creat New Shapefile对话框,在Name和Feature Type中分别填入文件名及地理要素类型,在Spatial Reference中选择空间参考坐标类型.创建shape文件后,就可以在其属性对话框的Field选项板中定义其属性.在添加属性项之后,必须启动ArcMap的编辑功能才能定义这些属性项的数值[5].

然后运行 ArcCatalog,打开 Arctoolbox工具栏中Data Manager Tool-General目录下的Append对话框,选择一个或多个要放在同一图层的文件作为输入数据,并选择上一步中创建的空 shape文件作为目标数据,在 Schema Type框的下拉菜单中选择NO_TEST,点击 OK,如图1所示,即完成了 coverages文件到shape文件的转换.

图1 coverages文件向shape文件转换界面

2.1.2 shape 文件转换为 wt,wl,wp 文件

在 MapGIS的主菜单中选择“图形处理”,然后点击“文件转换”,在打开窗口的菜单栏中选择“输入-装入 shape文件”,打开需要转换的文件,然后依据文件的点、线、面属性,在“文件”中将其保存为相应的MapGIS格式文件.

2.2 MapInfo文件转换为MapGIS文件

MapInfo文件主要有 tab和 mif两种,由于 mif文件的存储模式更适合数据交换,所以对于 tab文件,要先将其转化为mif文件.

2.2.1 tab文件转化为mif文件

首先在MapInfo的主菜单中选择File-Open Table,并打开需要转化的文件,再在 Table-Export中选择导出文件(*.mif)的保存路径,保存即可,如图2所示.

图2 tab文件向mif文件转换界面

2.2.2 mif文件转化为 wl,wp,wt文件

该转换步骤基本与 shape文件转换为 wt,wl,wp文件的步骤一致,不同的是在“输入”菜单中选择“装入MapInfo数据”,这样就完成了MapInfo文件的转化.

3 分析与改进

3.1 转换方法的选取

采用上述方法,将 ArcGIS和 MapInfo转换成的文件在同一MapGIS工程中打开,发现MapInfo转换成的MapGIS文件质量更高一些.通过对比三个软件的数据格式,发现mif文件的存储模式和MapGIS的点、线、区文件模式十分接近.tab文件的索引模式与shape文件比较接近,又因 MapInfo中的通用转换器能做到 shape等多种文件与 tab,mif文件之间的转化,如图3所示,故可利用 MapInfo文件作为中间文件进行转换.

图3 通用转换器转换界面

对于同一 shape文件,分别采用以下四种方式进行转换:①直接转为 MapGIS文件;②先转为 mif文件,再转为 MapGIS文件;③先转为 tab文件,再转为mif文件,最后转为 MapGIS文件;④先转为 mif文件,后转为 tab文件,再转为 mif文件,最后转为MapGIS文件.通过多次操作发现:采用方法①得到的文件属性数据缺失严重;采用方法②、③、④得到的数据与原数据基本吻合,但所有元素均表现为黑色,如表1所示.另外,相对于方法③、④,通过方法②得到的文件,部分图形符号不能正确显示,需在MapGIS中做出相应的调整;采用方法③时偶尔会出现转换失败的现象,而使用方法④的成功率较高.

表1 数据转换方式结果比较

综合分析以上转换方式,建议 shape文件向MapGIS文件转换的方法为:对于区文件,直接利用MapGIS文件转换模块输入转换为区文件(*.wp);对于点文件和线文件,先利用 MapInfo的通用转换器将shape文件转换成mif文件,然后将mif文件转换成tab文件,再将tab文件转换成mif文件,最后利用MapGIS文件转换模块将mif文件转换为MapGIS标准数据格式.

3.2 图面误差整理

在空间数据处理过程中,容易在投影变换、数据抽象、建立拓扑关系、数据集成处理、数据的可视化表达等方面产生误差[6].通过实际操作,发现在上述方法的转换过程中,数据抽象、投影变换和数据的可视化误差最为明显,进而提出相应的解决方法.

3.2.1 数据抽象

在数据转换过程中,比例尺及图形参数比例会发生一定变化,此时,数据所表达的空间特征位置也会相应产生误差.

修正这些比例参数的方法是:在MapGIS输入编辑模块里,选择工作台右键菜单中的“修改地图参数”,选择需要设置的文件,在弹出的“设置地图参数”对话框中修改比例参数即可.

3.2.2 投影变换

地图投影是开口的三维地球椭球面到二维场平面的拓扑变换.在不同投影形式下,地理特征的位置、面积和方向的表现会有差异.由于三个软件的坐标系统不同,转入MapGIS后的图件不具备任何坐标概念,如果想与已有的 MapGIS图件套合到一起,必须进行投影变换[7].

投影转换有两种方法:一是在投影变换模块中应用成批文件投影变换,在“结果投影参数” 栏中填入目的投影坐标参数(此参数在“设置地图参数-坐标系-坐标系设置”的对话框中获得),然后进行转换即可;二是用投影变换模块生成标准图框,用参数校正功能进行误差校正.第一种方法更为直接,但如果没有标准图件提供坐标参数,只能选择后者进行投影变换.

3.2.3 数据的可视化表达

在转换过程中,由于各个软件之间的符号库和字库不匹配,会造成点文件的子图和字库显示残缺,使得数据在可视化表达上产生误差.

若不能显示注释,则在“点编辑”菜单下选择“根据属性标注释”,标注域名选择 MapInfo表中的相应属性字段,然后在弹出的对话框中设置点参数即可;若不显示子图或符号不匹配,则在“点编辑”菜单下选择“修改点参数”,然后选择并修改相应点.

4 结 语

通过对MapGIS,ArcGIS,MapInfo三种软件的优缺点及其数据格式的存储原理的分析表明:MapInfo的文件与 MapGIS文件存储模式更为接近,对于ArcGIS的面文件可直接通过 shape文件转换为MapGIS文件,而对于点文件和线文件,应以MapInfo为中间软件进行转换.

实际转换效果说明,无论是国外还是国产GIS软件,虽然拥有各自的转换接口,但其数据转换功能却不尽完善,有待进一步改进.同时,由于软件在运行中具有随机性和不确定性,致使部分数据在转换前后的差异不可避免,若能运用 VC++和 LISP开发合理的输出模块,简化转换程序,将会更好地提升数据转换效率与精确度.

[1] 陈 勇,刘 辉,史瑞芝,等. 数字图数据到MapGIS数据的格式转换[J]. 测绘学院学报,2004,21(2):154-156.

[2] 潘永地. 剖析 ARCGIS SHAPE文件及写入代码[J].贵州气象,2006,30(6):36-37.

[3] 王刚武. GIS空间数据转换方法探讨[J]. 广东土地科学,2004,3(1):36-37.

[4] 邓跃明,翟娅娟,刘治枝. 基于 MapInfo的专题地图制作[J]. 测绘通报,2001(7):17-18.

[5] 吴秀芹,张洪岩,李瑞改,等. ArcGIS9地理信息系统应用与实践[M]. 北京:清华大学出版社,2008.

[6] 邬 伦,刘 瑜. 地理信息系统——原理、方法和应用[M]. 北京:科学出版社,2001.

[7] 张玉杰,张继武,张 栋,等. MapGIS与 MapInfo的数据文件转换[J]. 黄金,2008,29(11):32-33.

猜你喜欢
数据格式对话框软件
禅宗软件
正常恢复虚拟机
软件对对碰
Bootlace Worms’Secret etc.
What Is Beauty?
基于RFID的户外广告监管系统的设计与实现
一种融合多业务的信息化系统框架研究
浅谈VB的通用对话框《CommonDialog》控件的使用
即时通讯软件WhatsApp
基于ArcGIS的规划数据格式转换研究