Mapinfo到Arc/Info数据转换方法的比较研究所投刊社及刊社评论 | 作者个人资料 | |
投票 | 0条评论 收藏 推荐本文 博客引用 作者:曹庆先、武红敢、庞正轰 <script language="javascript" type="text/javascript">//document.write("举报");</script> 所属分类: 林业 |
所投刊社及刊社评语
| ||
| ||||||||
1 引言 Mapinfo软件是目前世界上较为完备、全面而直观的桌面地理信息系统,操作快捷方便,应用比较广泛[1]。目前,林业上许多森林资源调查规划的成品资料都是用Mapinfo软件制作,但Mapinfo的数据格式都不包含拓扑关系,无法进行高级的地理分析,不能提供高级的GIS功能,阻碍了林业GIS的高级应用的发展。而Arc/Info是当今GIS领域使用最广泛的GIS软件,在GIS数据管理方面功能强大[1],其Coverage数据模型存储了矢量数据间的拓扑关系, 可以对数据进行各种空间分析,在高性能GIS应用系统开发方面,有着独特的优势。因此,寻求Mapinfo的唯一数据存储格式Tab向Arc/Info的Coverage转换的方法对推动林业GIS技术的发展有着重要的意义。 2软件平台和数据格式 在我们实际工作中,不同GIS平台之间数据格式之间的转换问题比较常见,如Arc/Info、Microstation、Geoscan、MapGIS、方正智绘等软件系统之间数据的相互转换。有些GIS软件已根据应用需求开发出常用数据格式之间的转换模块。 2.1 实验软件平台 本实验软件平台为Mapinfo公司的Mapinfo 7.0和ESRI公司的ARCGIS 8.3桌面软件。就Mapinfo与Arc/Info平台之间的数据转换来说,南京师范大学刘雪凯等开发了Mapinfo的Mif与Arc/Info的Shapefile之间相互转换的模块[2],北京市测绘设计研究院的刘鹏等针对Arc/Info数据格式Coverage到Mapinfo数据格式Tab的转换,介绍了利用Vb6.0、采用ODE和跨平台集成地图技术编程实现该工艺的方法[1]。本文通过大量实验,试图探索Mapinfo数据格式Tab到Arc/Info数据格式Coverage转换的便捷方法, 实现系统间数据的无损转换。 2.2 实验数据格式 2.2.1 Tab数据格式 Tab是Mapinfo软件唯一的数据存储格式,所有基于该软件上的应用系统都要以这种数据格式为依托,其点、线、面放在一个图层中进行管理。通常一个典型的MapInfo表将由下列文件构成[3]: ①文件名.tab:描述表的数据结构。它是一个小的文本文件,描述包含数据文件的格式。 ②文件名.Dat:包含表格数据。 ③文件名.map:该文件描述图形对象。 ④文件名.id:这是一个交叉引用文件,用于连接数据和图形对象。 2.2.2 Coverage数据格式 Coverage数据模型也叫地理关系数据模型,它提出了基于拓扑的数据组织,有两个鲜明的特点: 1)空间数据与属性数据相结合。空间数据存储在二进制索引文件中,这样可以使显示和访问最优化。属性数据存储在表格中,用等于二进制文件中地理要素数据的行来存储,属性和要素之间通过唯一的关键字Id来连接,以实现图形和属性的双向查询; 2)矢量要素之间的拓扑关系也被存储。使GIS系统可以进行高级的地理分析,可以实现更精确的数据输入,从而为实现高性能的GIS提供可能。Coverage数据模型的优势在于用户可以自定义要素表格,不仅可以添加字段而且可以与外部表格的字段建立关联。 3 数据转换方法 3.1 数据转换流程 Mapinfo数据格式Tab到Arc/Info数据格式Coverage的转换流程如图1。其中“大”,“小”表示文件数据量的大小。 3.2 转换类型 本实验设计验证Tab--Coverage的两种转换类型:Tab—Shapefile--Coverage和 Tab--E00—Coverage。 3.2.1 Tab—Shapefile--Coverage 1)tab---Shapefile的转换 利用Mapinfo中的通用转换器,可实现Tab到Esri Shapefile的转换。并且Tab一个图层中的点线面要素,在转换成为Shapefil后,自动生成用户文件名+(Point、Line、Polygon).Shp的Shape文件。但当文件数据量较大(大于50M)时,此步转换不能成功,因此尝试通过Mapinfo的中间文件格式Mif实现。即先在Mapinfo中将Tab文件转出为中间文件格式Mif,然后再利用通用转换器将文件由Mif格式转换为Shapefile格式(或者利用Arctoolbox中Mif to Shape工具实现)。经验证,大数据量文件也借助Mif为中间数据格式,实现了Tab--Shapefile的转换。 2)Shapefile--Coverage的转换 此步转换可在Arctoolbox,利用Shapefile To Coverage工具实现,也可直接在 Arccatalog中选中文件单击右键,选择Export to Coverage来实现,或者应用Arcworkstation的Shapearc命令进行转换,但是Shapearc只能将文件转换为线图层。 对数据量较小的文件来说,此种转换方便快捷,但当数据量较大(大于50M)时应用此种转换方法无法成功执行,所以尝试借助Geodatabase作为中间数据格式,即利用Arctoolbox中Shapefile To Geodatabase工具先将文件由Shapefile格式转换为Geodatabase格式,然后在Arccatalog中执行Geodatabase 到 Coverage文件的转换。 Shapefile到Coverage的转换,由于在ARCGIS 8.3中无法改变容差值,转换生成的coverage会多出许多破碎多边形,这需要在Arcworkstation的Arc中利用Eliminate命令设置一定的面积范围将破碎多边形合并到与其有公共边界的的面积较大的多边形中。 3.2.2 Tab--E00--Coverage 在Mapinfo中,利用其通用转换器,将文件由Tab格式转换为Arc/Info的标准交换文件格式E00,然后应用Arctoolbox中的Import From Interchange File工具,再将文件由E00格式转换为Coverage格式。 实验证明,无论文件数据量大小,此步转换均可成功,但E00文件采用的是文本格式,不仅记录了地物、地形的空间坐标,而且还记录着所有的属性信息以及拓扑关系信息,所以其格式有一定的复杂性[4],所以文件转换速度较慢,工作效率较低。 3.3 新生成文件的后处理 1) 投影的重新定义 在不同平台的地理信息系统文件之间的转换中,经常会出现投影信息丢失的问题,所以经过转换得到的文件需要进行投影的重新定义。在ARCGIS中,对新生成的Coverage重新设置投影类型与参数,可应用Arctoolbox的Define Project Wizard(Coverage,Grid)工具来实现;也可在Erdas中添加投影参数。 2)拓扑关系的构建 Mapinfo软件没有拓扑关系,空间数据的转入和转出就不可能带有拓扑关系,这就需要对转换后的文件进行拓扑关系的构建,可利用Topology--Clean/Build工具或Arcworkstatio的Clean、Build命令,或者应用Erdas中Vector模块下Clean Vector Layer/Build Vector Layer Topology工具实现。 Clean命令对弧段坐标进行分析,决定是否分裂弧,计算新的交点,取消短于(Fuzzy)容差的弧段和短于(Dangle)容差的悬挂弧段,而BUILD命令不作这种调整, Build带Point参数可生成点特征,而Clean不能生成点特征[5]。 鉴于Build与Clean的区别,在建立拓扑关系时就应考虑选用适合的方法: ① 建立点特征拓扑关系选用Build带Point参数。 ② 仅建立多边形拓扑关系时,覆盖层中的弧段无重叠选用Build带Poly参数;如果段有重叠或不清楚时选用Clean。 ③ 建立线的拓扑关系时,覆盖层中的弧段无交叉选用Build带Line参数;如果弧段有交叉或不清楚时选用Clean。 3) 建立多边形标识 主要是为还没有Label点的面状Coverage建立标识点,并自动赋予用户标识码(User Id)[6],可利用Arccatalog的Creat Polygon Labels工具或者Erdas Vector模块下的Creat Polygon Labels工具实现。 至此,Mapinfo数据格式Tab到Arc/Info数据格式Coverage的转换以及Coverage文件的后处理工作全部完成。 4实验结果与分析 Tab—Shapefile--Coverage这一转换方式的优点在于转换速度相对较快,但对大文件(大于50M)转换操作较困难,须多步进行,比较繁琐,且转换次数越多,最后生成的目的文件误差也会相对增多。 Tab--E00--Coverage这一转换方式的优点在于无论文件大小,都可以直接通过E00格式转换为 Coverage,这样目的文件准确度相对较高。缺点在于E00文件采用的是文本格式,文件数据量一般都较大,转换速度缓慢,工作效率相对较低。 综上所述,对于数据量较小文件的转换,可以采取Tab—Shapefile--Coverage这一转换类型,既保证了目的文件的质量又保证了工作效率。对于数据量较大的文件,采取Tab--E00--Coverage这一转换类型,虽然转换速度较慢,但能保证目的文件的准确度。 5 结束语 在实施Mapinfo数据格式Tab 到Arc/Info数据格式Coverage的转换时,需根据图形数据的大小,选择不同方式。即当文件数据量较小时,选择Tab—Shapefile—Coverage途径转换,可以提高工作效率;对于数据量较小文件,选择Tab--E00—Coverage途径转换,可以保证转换后数据的准确性。 另外,本文只从试验平台的应用方面论述各转换途径的优缺点,对于其中转换过程失败与成功的原理还需要进一步研究。 主要参考文献 [1] 刘鹏、冯学兵、杨小立.Arc/Info数据格式(Coverage)转换到Maplnfo数据格式(Tab)的工艺设计与编程实现[J].北京测绘,2002,1:11-15. [2] 刘雪凯、孙在宏、吴长彬.Mapinfo与Arcinfo之间异构空间数据转换模块的开发与设计[J].地矿测绘,2004,20(3):4-7 [3]http://cache.baidu.com/c?word=mapinfo%2Ctab&url=http%3A//zhidao%2Ebaidu%2Ecom/question/6465585%2Ehtml&b=20&a=0&user=baidu 2006.6.13 [4] 喻华.有关Arc/Info标准价换文件格式的探讨[J]. 测绘通报,2003,1:51-52. [5]http://cache.baidu.com/c?word=build%2Cclean%3B%B5%C4%3B%C7%F8%B1%F0&url=http%3A//nono2008%2Ecnblogs%2Ecom/archive/2006/06/22/432850%2Easpx&b=11&a=0&user=baidu 2006.7.26 [6] 党安荣、贾海峰、易善桢等. ArcGIS8 Desktop地理信息系统应用指南[M]. 北京:清华大学出版社,2003. |