基于ArcGIS的MapInfo地图数据的服务发布研究与实现
2013-11-30段文峰徐风琴
段文峰,贾 年,梅 广,徐风琴
(西华大学 无线电管理技术研究中心,成都 610039)
基于ArcGIS的MapInfo地图数据的服务发布研究与实现
段文峰,贾 年*,梅 广,徐风琴
(西华大学 无线电管理技术研究中心,成都 610039)
ArcGIS和MapInfo是现有的两大主流GIS系统,为实现两大平台之间数据的转换和共享,通过分析两大系统各自数据特点,探讨两者数据转换的相关技术,研究和对比了传统的GIS系统实现方式和Web服务发布的方式,最终采用以Web服务发布的方式为用户共享地图数据,使任何具有Internet连接的电脑、智能手机、平板电脑等移动设备都能够使用该地图数据,节约了在所有终端都需要安装GIS软件和地图数据的成本。
ArcGIS;MapInfo; 数据转换; 服务发布
MapInfo和ArcGIS是目前应用广泛、直观和全面的地理信息系统。ArcGIS具有强大的GIS数据管理功能,能够分析和处理各种空间数据,在地图服务处理方面以Web服务发布的方式共享地图数据给用户,对任何具有 Internet 连接的电脑、移动终端等设备开放数据,通过网络服务器接收和处理其他设备的应用请求,数据集中到服务器维护,为多用户提供实时的更新信息和远程并发访问。MapInfo数据格式本身不包含任何拓扑关系[1],不能提供高级的地理分析处理功能,所有使用其地图数据的开发者和使用者都需要安装MapInfo软件和相关地图数据,导致客户端软件成本提高,地图数据更新后需要在每个客户端更新,但目前MapInfo的使用范围更广泛,地图数据资源更丰富,所以实现2个平台之间数据共享具有重要意义。
本文以MapInfo 11.0和ArcGIS 10.1为例,实现MapInfo的Tab数据向ArcGIS的Shapefile数据转换,将转换后的数据通过ArcGIS以Web服务发布的形式供其他用户使用。
1 地图数据分析
1.1 MapInfo的Tab数据格式分析
MapInfo的数据格式主要有.tab和mif(.mid)[2]。.tab是MapInfo的唯一数据存储格式[3],定义了地图属性数据的表结构文件。MapInfo采用双数据库存储模式,属性数据保存在表结构文件(.tab)与属性数据文件(.dat)中,空间数据保存在空间数据文件(.map)中[4],通过交叉索引文件(.id)建立两者之间的对应关系。.mif和.mid是MapInfo的外部数据交换文件,分别对应于MapInfo空间数据的图形对象和表格数据的转入与转出。
1.2 ArcGIS的Shapefile数据格式分析
ArcGIS主要有Coverage、Shapefile、Geodatabase和E00等4种数据组织形式[5]。Coverage是一种基于文件夹存储的ArcInfo workstation原生数据格式,具有严密拓扑关系的地理关系矢量数据格式[6]。Shapefile属于简单要素类,用点、线、多边形存储要素的形状,但不包含拓扑数据结构。Geodatabase是一种基于RDBMS存储的本地物理存储数据格式,主要保存在数据库管理系统或者文件系统中。E00是一种应用于Arc/Info软件内部不同平台之间实现数据交换的通用数据格式文件,将要素及其属性信息以ASCII明码格式表达出来。
表1 MapInfo与ArcGIS的数据模型比较
1.3 数据模型比较
MapInfo对点、线、面并没有严格的区分,可以放在一个图层中;而ArcGIS对点、线、面有着严格的区分,分别存放在不同的图层中,保存为对应的Shapefile文件,MapInfo与ArcGIS 2种数据模型比较如表1所示[3]。
2 MapInfo的Tab数据到ArcGIS的Shapefile数据的转换
图1 MapInfo数据向ArcGIS数据转换流程图
图2 数据转换过程图
图3 ArcMap显示转换之后的Shapefile数据
2.1 转换流程
MapInfo数据向ArcGIS数据转换的具体流程如图1所示。
2.2 Tab数据到Shapefile数据的转换过程
2.2.1 数据检查
对MapInfo数据投影变换前,需对数据要素层进行ID排序、表压缩存盘、分层并录入相关属性信息等处理[3],根据数据本身的特征以及用户对数据的需求在MapInfo中合并相关图层,例如,合并标注层和其所对应的空间要素层,删除只有修饰效果的分区界线等。
2.2.2 投影变换
MapInfo地图数据可以通过扫描TIF文件采集图像来获得。该过程中,用户需确定坐标原点并建立一个坐标系。实际应用过程中,相关软件系统会根据图形的投影参数重新定义一个与原用户不一致的新坐标系统,因此,通常需要用户手动进行坐标系统的转换。
2.2.3 数据转换
本文以四川省公路图数据为例,该数据采用的是WGS-84坐标系(1984年世界大地坐标系统),在数据转换前不需要投影变换,转换之后在ArcGIS中定义该投影坐标即可。
MapInfo的Tab数据向ArcGIS的Shapefile数据转换过程如图2所示。
1) .tab→.mif:首先将MapInfo的所有点、线、面数据层都转换为交换格式.mif文件;2) .mif→.shp:用MapInfo自带的数据转换模块将第一步所有.mif文件转换成.shp文件;3)导入数据:在ArcMap中导入以上转换后的数据,查看转换结果,如图3所示。
2.3 数据转换后的处理
图4 Web服务发布的体系结构图
图3显示:转换后的标注都以一个黑点的形状呈现,MapInfo用一个单独存储的点要素图层表示标注,而Shapefile中的标注需要与其所属的属性要素一起存储,数据转换后可以删除注记,在ArcMap中手动将属性信息中的标注显示出来。转换后原图层显示比例范围也不会保存,需要手动设定各图层的显示范围。由于Shapefile文件本身不能存储颜色特征信息,数据转换不会转入原图上的符号库,系统将随机选择颜色对图层着色,图3也显示地图标识是以一个点形状呈现,需要人工手动做适当的字体、符号、线型、色谱等编辑。
3 服务发布
表2 ArcGIS地图数据服务发布的主要优势比较
3.1 Web服务发布体系结构介绍
图6 Web地图服务发布流程图
ArcGIS for Server是基于SOA架构的GIS服务器,通过它可以跨企业或跨互联网以服务形式共享GIS资源,允许多客户端并发访问。本文通过ArcGIS for Server实现了Web服务发布,其体系结构如图4所示。
图5 服务使用流程
其中:GIS服务器主要用于托管地图、地理处理工具和地址定位器等GIS资源给客户端应用程序使用;Web Adaptor主要用于整合GIS服务器与企业级Web服务器;Web服务器主要用于托管Web应用程序和服务,并为ArcGIS Server站点提供可选的安全和负载均衡能力;数据服务器包含在GIS服务器上,作为服务发布的GIS资源;ArcGIS for Server管理器可以使用管理器或ArcCatalog将GIS地图资源发布为服务。
3.2 Web服务发布的优势
ArcGIS以Web服务发布的方式将地图服务发布到网络服务器,拥有网络连接的用户都能使用GIS资源,不需要安装GIS软件和地图数据,维护时只要在服务器上更新即可,相对于MapInfo需要在所有机器上安装软件和地图数据具有明显的优势,两者对比如表2所示。
3.3 Web服务发布流程
ArcGIS for Server允许在企业内或互联网上共享GIS资源,其服务使用流程如图5所示。
使用ArcGIS桌面产品创建和编辑地图资源,使用ArcGIS for Server进行发布。在发布地图服务时,同时有一些可选的服务功能,如选择发布网络数据层功能,可以使用网络分析功能;选择发布手机数据层功能,可以在移动终端使用该地图数据。还可以直接将GIS资源和数据拷贝到本地或云端的ArcGIS Server中,实现在云端维护地图数据。
3.4使用ArcMap发布地图服务
可以使用ArcMap或ArcCatalog发布地图数据,现以ArcMap为例,Web服务发布流程如图6所示。
4 地图服务的实现
图7 在PC机上使用地图服务运行效果图
图8 Android使用地图服务运行效果图
4.1 PC上使用发布的地图服务
本例使用JavaScript来实现展示以上发布的地图服务,其关键代码为:
function init() {
map = new esri.Map("map");
var layer = new esri.layers.ArcGISDynamicMapServiceLayer("http://localhost:6080/arcgis/rest/services/sichuan/
sichuanMap/MapServer");
map.addLayer(layer);var resizeTimer;
dojo.connect(map, 'onLoad', function(theMap) {
dojo.connect(dijit.byId('map'), 'resize', function() {
clearTimeout(resizeTimer);
resizeTimer = setTimeout(function() {map.resize();map.reposition();}, 500);
});});}
运行效果如图7所示。
4.2 移动设备上使用发布的地图服务
本例实现基于Android平台的地图服务展示,其关键代码为:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mMapView = (MapView)findViewById(R.id.map);
mMapView.addLayer(new ArcGISDynamicMapServiceLayer("" + "http://localhost:6080/arcgis/rest/services/sichuan/sichuanMap/MapServer")); }
protected void onPause() { super.onPause();mMapView.pause(); }
protected void onResume() {super.onResume(); mMapView.unpause();}
运行效果如图8所示。
5 结语
本文实现了MapInfo的Tab数据向ArcGIS的Shapefile数据格式的转换以及基于Web的地图服务发布。用户可以充分利用MapInfo操作简便和现有地图数据丰富的特点,将其数据共享给ArcGIS用户,通过该平台来维护地图数据,使MapInfo与ArcGIS之间地图数据资源的共享达到最大化。通过Web服务的方式将地图数据发布为服务,能够更方便地将地图数据共享给其他用户使用。但是,服务发布方式也有其局限性,所有数据访问和空间分析功能都交由网络服务器处理,在网络断开的情况下,会暂时中断其相关服务,因此,后期工作还需要对这方面进行优化处理,同时加强地图数据转换的研究,争取做到真正的无损数据转换。
[1] 郝思宝,朱益虎.ArcGIS到MapInfo数据无损转换研究[C]//第五届长三角科技论坛:测绘分论坛.上海:江苏省地质测绘院,2008.
[2] 李苗,陈娜,李娟.基于MapInfo与ArcGIS专题地图制作方法探讨[J].陕西地质, 2011,29(1):94-97.
[3] 马飞飞,王丛聪.MapInfo数据Tab到ArcGIS数据Shapefile的转换[J].科技信息:学术版,2007(24):425-427.
[4] 李旭升,李兵,曲尚勇,等.基于ARM-Linux的MiniGUI的应用研究[J].西华大学学报:自然科学版,2008,27(3):9,74-78.
[5] 汤国安,杨昕.ArcGIS地理信息系统空间分析实验教程[M].2版.北京:科学出版社,2012.
[6] 党安荣,贾海峰,易善帧,等.ArcGIS 8 Desktop地理信息系统应用指南[M].北京:清华大学出版社,2003.
ResearchandImplementationoftheServicePublicationofMapInfoMapDataBasedonArcGIS
DUANWenfeng,JIANian*,MEIGuang,XUFengqin
(Center for Radio Administration and Technology Development, Xihua University, Chengdu 610039, China)
Now, ArcGIS and MapInfo are two main existing GIS systems, MapInfo is more widely used, and the map data resources are more abundant, but ArcGIS is more powerful in data management and spatial analysis, thus has a very important significance for data conversion and sharing between the two platforms. It shares map data using web service publication by analyzing the data characteristics of ArcGIS and MapInfo. The paper discusses the relevant technology of data conversion between the two systems, and researches and compares the implement of traditional GIS system and the web service publication for users, so that any computers, smart phones, tablets and other devices with an Internet connection are able to use this map data through Internet. So it can save the cost of the GIS software and the corresponding map data.
ArcGIS; MapInfo; data conversion; service publication
2013-11-07
国家科技支撑计划“西藏自然科学博物馆基于物联网的信息管理系统关键技术研究及集成示范”(2011BAH26B03);西华大学重点实验室开放研究基金(szjj2012-031)
段文峰(1989- ),男(汉族),江西萍乡人,在读硕士研究生,研究方向:智能信息处理。
贾年(1973- ),男(汉族),副教授,硕士生导师,研究方向:智能信息检索、GPU计算、数字图像处理,通信作者信箱:jianian@163.com。
P208
A
2095-5383(2013)04-0025-04