面向企业级的开源WebGIS解决方案--MapGuide(对比分析)在技术特点、功能、架构等方面,MapGuide与其他WebGIS产品有什么区别?本文主要从此角度来介绍MapGuide的特性,以供参考。本人选择了比较熟悉的几款WebGIS产品:MapServer(开源项目)、MapXtreme(MapInfo)、ArcIMS(ESRI)、ArcServer(ESRI),与MapGuide(开源项目)相比较。由于本人未对国内的WebGIS产品如SuperObjects.Net、MapGIS-IMS实践过,所以没有包含在对比产品内,如有阅者熟悉可提供资料,万分感谢。1、产品总体概述1)MapServer开源项目;跨平台;支持ASP.NET、JAVA等的应用开发;框架结构可参阅本人有关对MapServer的分析文章。2)MapXtremeMapInfo商用平台(10-20W/1RMB);包含MapXtremeforWindows和MapXtremeforJava两个版本;MapXtremeforWindows无C/S、B/S架构之分,既为C/S嵌入式开发的GIS产品,又为WebGIS产品;支持ASP.NET、JAVA等的应用开发。3)ArcIMSESRI商用产品(15+/-W/1RMB);跨平台支持;支持ASP.NET、JAVA等的应用开发;体系架构可参阅ESRI产品说明书。4)ArcServerESRI商用产品;跨平台支持;ArcIMS的企业级版本;支持ASP.NET、JAVA等的应用开发;体系架构可参阅ESRI产品说明书。5)MapGuide开源项目;跨平台支持;MapServer的Enterprise版本;支持ASP.NET、JAVA等的应用开发;体系架构可参阅“面向企业级的开源WebGIS解决方案--MapGuide(介绍)”。2、总体功能对比通过功能参数对比分析。选择的技术参数综合了各大WebGIS产品服务特点,包含:1)Metadata/Resource:元数据服务/资源服务2)Feature:要素特性(MapTip功能表现、矢量流数据表现)3)Image:地图绘制服务4)Rendering:图层渲染服务5)Editing:地图编辑服务6)Routing:路径服务7)Query:查询服务8)Extract:裁减矢量数据并支持下载服务9)WMS:支持并提供WMS服务10)WFS:支持并提供WFS服务11)DataInteroperability:支持多源数据访问,提供数据互操作服务12)Tile:瓦片地图服务MapGuideMapServerMapXtremeArcIMSArcServerMetadata/ResourceYYYYYFeatureYN?YYImageYYYYYRenderingYYYYYEditing?NY*YRouting?N**YQueryYYYYYExtract?NYYYWMSYYYYYWFSYYYYYDataInteroperabilityYYN**TileY*NNN参数说明:Y--满足N--本身不能满足?--不知*--本身不满足,可通过现有技术集成满足对比表中*项解释如下:1)MapServer-----Tile:基于MapServer的Ka-Map应用框架可以实现;2)MapXtreme-----Routing:通过MapInfoRoutingJServer或开发扩展算法实现;3)ArcIMS-----Editing:通过ArcSDEClientAPI实现简单编辑;4)ArcIMS-----Routing:通过NetEngine或开发扩展算法实现;5)ArcIMS-----DI:通过DDE(FME的Web产品,ESRI采购SAFE的FME产品)实现;6)ArcServer-----DI:通过ESRI的DI模块(FME)实现;另外,ArcIMS的FeatureService和ImageService不能共用,ArcIMS以FeatureServer发布的WebGIS可实现MapTip功能,但需JVM支持;MapGuide即可以Image绘制地图,又可实现MapTip功能,如下图:通过对比表分析,可以得出:MapGuide在DataInteroperability和Tile具备独特的优势(实现Tile不存在技术难度,但将Tile作为定制服务封装于产品之中仅MapGuide,其他产品本身不具备)。MapGuide通过FDO(FeatureDataObjects)Provider实现多源、不同空间数据结构的统一访问和表现,而不必将其他空间数据转换成私有的空间数据模型数据。3、体系分层对比1)数据访问通道比较对象:FDO、FME、ArcSDE、MapInfoSpatialWare支持访问数据格式的种类FME=FDOArcSDE=SpatialWare;作为通用的空间数据模型工具,FDO与FME相当,目前FDO支持的数据类型有SDF、SHP、GDAL、ODBC、MySQL、ArcSDE、WMS、WFS等,由于其开源性,可扩展Provider;FME支持几乎多数主流GIS产品数据格式的ETL(Extract、Transform、Load)。由于产品(项目)定位不同,FDO仅作为MapGuide的数据访问部件使用(目前还未挖掘其类似FME的潜力),FME的系列工具供其他GIS开发商集成(ESRI的DI模块就是FME)。作为私有数据模型的访问通道,ArcSDE与MapInfoSpatialWare相当。2)空间服务与造价可参阅2的总体功能对比表。从总体功能来说:ArcServerMapGuide?MapXtreme?ArcIMSArcServer在空间分析功能上远远超过其他产品。如果围绕空间数据的管理(采用企业级数据库管理空间数据)、采集更新、数据共享发布三大功能体系来实施GIS项目,那么可采用参考组合如下所示:-----ArcServerArcServer+ArcSDE+企业级数据库-----ArcIMSArcIMS+ArcSDE+企业级数据库+(ArcEngine)ArcIMS+ArcSDE可以构建功能相对有限的数据管理、数据采集应用系统;通过部署ArcEngine,可构建强大的类似ArcGISDesktop的应用体系。-----MapXtremeMapXtremeforWindows+企业级数据库MapXtremeforJava+MapX+企业级数据库前面提到:MapXtremeforWindows无C/S、B/S架构之分,既为C/S嵌入式开发的GIS产品,又为WebGIS产品。-----MapGuideMapGuide+PostgreSQL(MySQL)+QGIS根据以上软件部署,实际软件造价高低依次:ArcServerArcIMSMapXtremeMapGuide(基本为开源项目组合)而以上部署存在的项目风险强弱:MapGuideArcServer?ArcIMS?MapXtreme4、总结1)MapGuide在功能服务上有三大优势:--Feature与Image的共享服务;--MapGuide的DI特性;--MapGuide的Tile服务;2)采用MapGuide实施GIS项目软件造价相对较低,但承担的风险同时也是较大的。