各种WebGis系统分析草案

本草案仅从技术特点、功能、架构等方面分析现有的各种webgis系统,仅供

参考。  本人选择了几种webgis产品,主要从两个大的方面开始分析:开源和非开源的。WebGis产品有:MapServer(开源项目)、MapXtremeMapInfo)、ArcIMSESRI)、ArcServerESRI)、SuperMap GISMapGIS-IMS

 

1 产品总体概述

1.1 MapServer

开源项目;跨平台支持;支持ASP.NETJAVAPHPPYTHON的应用开发;

网站:http://mapserver.gis.umn.edu/

1.2 MapGuide*

开源项目;跨平台支持;MapServerEnterprise版本;支持ASP.NETJAVAPHPPYTHON的应用开发;

网站:http://mapserver.gis.umn.edu/

 

1.3 MapXtreme

MapInfo商用平台(10-20W/1 RMB);包含MapXtreme for WindowsMapXtreme for Java两个版本;MapXtreme for WindowsC/SB/S架构之分,既为C/S嵌入式开发的GIS产品,又为WebGIS产品;支持ASP.NETJAVA等的应用开发。

网站:http://www.mapinfo.com.cn/

 

1.4 ArcIMS

 ESRI商用产品(15+/-W/1 RMB);跨平台支持;支持ASP.NETJAVA等的应用开发;体系架构可参阅ESRI产品说明书。

网站:http://www.esri.com

1.5 ArcServer

ESRI商用产品;跨平台支持;ArcIMS的企业级版本;支持ASP.NETJAVA等的应用开发;体系架构可参阅ESRI产品说明书。
网站:http://www.esri.com

 

1.6 SuperMap GIS

北京超图地理信息技术有限公司商用平台(1+/-W/1 RMB);支持ASP.NETJAVA等的应用开发;体系架构可参阅SuperMap GIS产品说明书。

网站:http://www.supermap.net/

 

1.7 MapGIS-IMS

中地软件推出的商用平台;支持ASPVC++VBDelphi等开发环境;

网站:http://www.mapgis-sz.com.cn/

 

2 总体功能对比

通过功能参数对比分析。选择的技术参数综合了各大WebGIS产品服务特点,包含:

<!--[if !supportLists]-->1)<!--[endif]-->Metadata/Resource:元数据服务/资源服务

<!--[if !supportLists]-->2)<!--[endif]-->Feature:要素特性(MapTip功能表现、矢量流数据表现)

<!--[if !supportLists]-->3)<!--[endif]-->Image:地图绘制服务

<!--[if !supportLists]-->4)<!--[endif]-->Rendering:图层渲染服务

<!--[if !supportLists]-->5)<!--[endif]-->Editing:地图编辑服务

<!--[if !supportLists]-->6)<!--[endif]-->Routing:路径服务

<!--[if !supportLists]-->7)<!--[endif]-->Query:查询服务

<!--[if !supportLists]-->8)<!--[endif]-->Extract:裁减矢量数据并支持下载服务

<!--[if !supportLists]-->9)<!--[endif]-->WMS:支持并提供WMS服务

<!--[if !supportLists]-->10)          <!--[endif]-->WFS:支持并提供WFS服务

<!--[if !supportLists]-->11)          <!--[endif]-->DataInteroperability:支持多源数据访问,提供数据互操作服务

<!--[if !supportLists]-->12)          <!--[endif]-->Tile:瓦片地图服务

 

 

 

 

 

 

MapGuide

MapServer

MapXtreme

ArcIMS

ArcServer

SuperMap

GIS

MapGIS-IMS

Metadata/Resource

Y

Y

Y

Y

Y

Y

Y

Feature

Y

N

?

Y

Y

Image

Y

Y

Y

Y

Y

Y

Y

Rendering

Y

Y

Y

Y

Y

 

 

Editing

?

N

Y

*

Y

Y

Y

Routing

?

Y

Y

Y

Y

?

?

Query

Y

Y

Y

Y

Y

 

 

Extract

?

N

Y

Y

Y

Y

Y

WMS

Y

Y

Y

Y

Y

 

 

WFS

Y

Y

Y

Y

Y

 

 

DataInteroperability

Y

Y

N

*

*

 

 

Tile

Y

*

N

N

N

 

 

 

参数说明:

Y-- 满足

N-- 本身不能满足

? -- 不知

* -- 本身不满足,可通过现有技术集成满足

 

     对比表中*项解释如下:

<!--[if !supportLists]-->1)<!--[endif]-->MapServer-----Tile:基于MapServerKa-Map应用框架可以实现;

<!--[if !supportLists]-->2)<!--[endif]-->MapXtreme-----Routing:通过MapInfo Routing J Server或开发扩展算法实

现;

<!--[if !supportLists]-->3)<!--[endif]-->ArcIMS-----Editing:通过ArcSDE Client API实现简单编辑;

<!--[if !supportLists]-->4)<!--[endif]-->ArcIMS-----Routing:通过NetEngine或开发扩展算法实现;

<!--[if !supportLists]-->5)<!--[endif]-->ArcIMS-----DI:通过DDEFMEWeb产品,ESRI采购SAFEFME产品)实现;

<!--[if !supportLists]-->6)<!--[endif]-->ArcServer-----DI:通过ESRIDI模块(FME)实现;

 

    另外,ArcIMSFeature ServiceImage Service不能共用,ArcIMSFeature Server发布的WebGIS可实现MapTip功能,但需JVM支持;MapGuide即可以Image绘制地图,又可实现MapTip功能

 

 

 

3 体系分层对比

1)数据访问通道

     比较对象:FDOFMEArcSDEMapInfo SpatialWare

     支持访问数据格式的种类FME >= FDO > ArcSDE = SpatialWare

     作为通用的空间数据模型工具,FDOFME相当,目前FDO支持的数据类型有SDFSHPGDALODBCMySQLArcSDEWMSWFS等,由于其开源性,可扩展ProviderFME支持几乎多数主流GIS产品数据格式的ETLExtractTransformLoad)。由于产品(项目)定位不同,FDO仅作为MapGuide的数据访问部件使用(目前还未挖掘其类似FME的潜力),FME的系列工具供其他GIS开发商集成(ESRIDI模块就是FME)。

     作为私有数据模型的访问通道,ArcSDEMapInfo SpatialWare相当。

     2)空间服务与造价

     可参阅2的总体功能对比表。

     从总体功能来说:ArcServer > MapGuide ? MapXtreme ? ArcIMS

     ArcServer在空间分析功能上远远超过其他产品。

     如果围绕空间数据的管理(采用企业级数据库管理空间数据)、采集更新、数据共享发布三大功能体系来实施GIS项目,那么可采用参考组合如下所示:

     -----ArcServer

     ArcServer + ArcSDE + 企业级数据库

     -----ArcIMS

     ArcIMS + ArcSDE + 企业级数据库 + ArcEngine

     ArcIMS + ArcSDE可以构建功能相对有限的数据管理、数据采集应用系统;通过部署ArcEngine,可构建强大的类似ArcGIS Desktop的应用体系。

     -----MapXtreme

     MapXtreme for Windows + 企业级数据库

     MapXtreme for Java + MapX + 企业级数据库

     前面提到:MapXtreme for WindowsC/SB/S架构之分,既为C/S嵌入式开发的GIS产品,又为WebGIS产品。

     -----MapGuide

     MapGuide + PostgreSQLMySQL+ QGIS

 

     根据以上软件部署,实际软件造价高低依次:

      ArcServer > ArcIMS > MapXtreme > MapGuide(基本为开源项目组合)

     而以上部署存在的项目风险强弱:MapGuide > ArcServer ? ArcIMS ? MapXtreme

 

 

 

 

 

4 开发方式

4.1 基于MapServer的开发方式

MapServer是使用C语言编写的开源软件。

MapServer可以看作是两个独立模块的统称:MapServer CGI模块和MapScript模块。在服务器端可以使用任一模块,编写WebGIS程序。不过它们使用相同的配置文件MapFile。利用MapServer CGI模块需要做的工作:准备MapFile需要的资源,配置MapFile,设计用户交互界面(即html文件,可以使用脚本语言,如JavaScript增强交互性)。无法进行服务器端设计,因为MapServer CGI本身就是定制好的服务器端程序。当然可以通过修改源代码来使Map Server CGI具有需要的特性。利用MapScript模块就需要其他服务器端解决方案(指脚本语言),如PHP(以CGI模块安装在Web Server上)。MapScript模块作为PHP的扩展模块,放在PHP安装路径的extensions目录下。MapScript模块保留MapFile文件的层次对象结构,向PHP提供对象结构的API。那么,程序员在服务器端就可以使用PHP通过调用MapScriptAPI灵活的选择,修改MapFile文件;而不像MapServer CGI模块那样死板。同时结合PHP对众多数据库——非空间数据库,如Oracle, Sybase, MySQL等的支持,在WebGIS中整合空间数据和非空间数据变的容易。MapScript支持的语言:PHPPerlPythonJavaTclC#等

 

 

4.2 基于MapGuide的开发方式

MapGuide的组成:

MapGuide技术由四个主要组件构成:MapGuide ServerMapGuide StudioMapGuide Web Server Extensions和提供了两种浏览方式的MapGuide Viewer

MapGuide技术既可以运行于Microsoft Windows,也可以运行于Linux操作系统之上。MapGuide Server可以作为一个服务运行,既可存取本地服务器上的数据,也可存取通过Feature Data ObjectFDO)技术连接到服务器的数据。

Web Server Extensions所扮演的角色就像提供给Internet的“外壳”。这里有三种不同的网络扩展:

.NETJavaTMPHP 5.05+

.NET接口主要提供Microsoft平台上运行的应用程序使用。可以使用Visual Studio .NET这样的工具,用C#VB.NET编程开发,来访问FDO的应用程序接口(API),并从服务器上获取地图。

Java Web Extension能够使用Java Server PagesJSP)来访问API和地图,无论何种操作系统(LinuxWindows)。

PHP被广泛地用作网络应用程序框架。与Java Web Extension类似,它能工作在WindowsLinux服务器上。

 

 

 

 

4.3 基于MapXtreme的开发方式

在这里主要介绍MapXtreme2004的开发方式。

Web服务器支持CGIWeb Server,在客户端不需要插件,网络传输的图形格式为JPEG/GIF(栅格图),动态生成地图。MapXtreme2004基于微软的Dot Net架构开发的产品, MapXtreme2004产品使得开发人员可以享用微软的.NET技术架构带来的好处,如跨语言性,创建Web服务,部署分布式应用等先进的技术. MapXtreme 2004Web部署提供了地图应用模板、多种地图控制工具、应用示例和拖拽开发功能,方便了Web应用的快速部署。Web应用和桌面应用提供了同一个核心。

 

4.4 基于ArcIMS的开发方式

ArcIMSArcIMS公司的WEBGIS的开发工具,支持多种模式开发,其客户端需要自动下载Java Applet或者ActiveX控件,网络传输的图形格式为JPEG/GIF(栅格图)png等,也可传递矢量数据流。

ArcIMSViewers 决定了ArcIMS站点的功能和外观,决定了提供哪些空间、属性查询工具和显示工具,ArcIMS提供了三种Viewer选择。HTML Viewer同时只能显示一个Image MapServiceImage MapService将结果以JPGGIFPNG格式发到客户端——与Feature MapService数据流的发送方式不同。ArcIMS提供两种Java Viewers——Java Standard ViewerJava Custom ViewerJava Viewer通过Java applets提供地图服务和信息查询。Java applet不同于servlet,它运行在客户端,不是服务器端,并且必须下载到客户端。因此,Java客户端比其他的客户端更胖。通过Java viewer浏览网站,用户必须首先下载两个plug-insJava Standard Viewer无法定制工具或布局。而Java Custom Viewer可以通过HTMLJavaScript调用applets进行定制。所有的Java Viewers都可以支持Image Feature MapServices,并且支持同时使用多个MapServicesFeature MapService使用数据流,因此可以支持客户端的用户交互和分析功能。选用Image MapServices创建地图服务器,使用Java Custom Viewer模式开发的地图显示速度比较快。

ArcIMS支持.net开发,不提供可视化控件。可以以写语句与服务器单条信息交互形式开发,也可以依赖于已有的webservice进行开发。

 

 

4.5 基于ArcServer的开发方式

资料暂缺!

 

4.6 基于SuperMap GIS的开发方式

SuperMap GIS系列软件是北京超图公司开发的系列软件,包括SuperMap SDK +5(支持海量空间数据管理的大型空间数据库引擎)、SuperMap Objects 5(适合大型专业应用系统建设的全组件式GIS开发平台)、SuperMap IS .NET 5(用于建立大型网络GIS服务的Internet GIS开发平台)、eSuperMap 5(适用于移动终端设备的嵌入式GIS开发平台)、SuperMap Deskpro 5(用于地理空间数据处理与分析建模的大型桌面GIS软件)、SuperMap Express 5(用于地理空间数据编辑与处理的桌面GIS软件)、SuperMap Viewer 5(用于浏览地理空间数据的工具软件)。在这里主要介绍的是基于.NET 2.0平台的SuperMap IS .NET 5.2软件。

SuperMap IS .NET 5有三种开发方式,分别为:

<!--[if !supportLists]-->1、<!--[endif]-->WebControl

<!--[if !supportLists]-->2、<!--[endif]-->远程类库开发;

<!--[if !supportLists]-->3、<!--[endif]-->WebService开发;

 

 

 

 

4.7 基于MapGIS-IMS的开发方式

Map Gis-IMS是中地公司推出的万维网地理信息系统(World Wide Web Geographical Information System):MAPGIS-IMS(Internet map server)是建立在Internet网上的具有三级体系结构的网络GIS系统。它的主要任务是建立WEBGIS服务器,在网上发布地理信息,让人们在网上享受更多相关的地理空间信息。

IMS提供了包括显示、工程管理、工作区管理、分析功能等一系列COM模块和JAVA小程序,并利用Active Server Pages(ASP)技术,可建立功能丰富的具体GIS应用。通过诸如JavaScript VBScript的编程语言用户可以定制WEB页,还允许用户通过FrontPage, Visual InterDev等产品建立客户化的用户界面,这些脚本程序可以在浏览器端执行,也可以通过标准应用服务器(ASPC#)在服务器端执行。中地公司发布的最新Gis软件

开发者可以通过 MAPGIS-IMS软件开发包开发特定的应用,开发者可以访问核心的软件组件和界面。

 

 

5 实现的基本算法

1、二叉树

2、四叉树

3、八叉树

4、四叉树空间索引算法

5K-D

   

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值