随着Internet的发展,基于Web的GIS技术已经成为GIS研究的一个热点。国内外GIS软件厂商纷纷开展了WebGIS软件的研究和应用开发。下面对几种主流产品做简介和比较。
2.3.1.1 ESRI公司的ArcIMS
ArcIMS是ESRI公司推出的WebGIS服务软件,应用了Java Applet、Java Servlet、XML等技术。总体上由两部分组成,即客户层和服务器层。服务器层又包括Web服务器、ArcIMS连接器、GIS应用服务器、空间数据服务器以及网站管理工具和空间数据库服务器等几个分支。各部分之间通讯协议为TCP/IP,数据传输采用符合XML标准的ArcXML统一格式(*.axl)。其中,客户层同时支持Java Applet浏览器和HTML浏览器。服务层是ArcIMS的核心部分,它使用了Java Applet技术,合成了GIS应用模块、空间数据引擎和数据中间件,用于处理相关的GIS事件请求、访问空间数据库和平衡服务器负载。客户层首先通过网站管理工具来进行地图服务(Map Service)的配置,包括配置空间数据和地图服务的类型,即矢量要素或栅格图像服务,然后GIS应用服务器和空间数据服务器将客户端的GIS服务请求转换成ArcXML格式文件,经过ArcIMS连接器传给Web服务器,最后由Web服务器完成对客户端请求的响应。
特点主要有以下几方面。
1.简单的基于向导的界面
ArcIMS在创建、设计、管理GIS站点上提出了一套简便易行的解决方案。通过向导引导,用户能够迅速完成创建地图服务、设置网页、发布和管理站点的工作。
2.智能化客户端
ArcIMS同时推出HTML和Java两种版本的客户端。ArcIMS Java客户端支持客户、服务器方式,运行客户直接使用本地缓冲区中的数据。客户端的操作不再必须由服务器来完成,许多操作可以直接在客户端快速高效执行。
3.地图编辑和注释功能
ArcIMS客户端支持动态编辑和标注地图信息,允许用户将编辑结果返给服务器,并帮助记录下对服务器数据库所做的改变。地图注释功能还允许在地图上标注符号,用来提示其他人注意或以备今后查看。
4.方便的定制功能
ArcIMS客户端可以通过工业基准语言,如VBScript和JavaScript,方便地定制以适用于不同功能需求,为最终用户和希望自己定制界面和应用的开发商提供了方便。
5.制图显示功能
由于ArcIMS支持矢量数据流,可获得更清晰的屏幕显示效果。此外,由于采用了新的影像数据边界平滑处理技术,因此提高了栅格数据的显示质量。
6.开发的、可伸缩的结构
客户端的伸缩性:瘦客户端(传到客户端的地图为栅格数据)包括HTML Viewer;胖客户端(传到客户端的地图为矢量数据)包括Java Viewer、ArcGIS Desktop、ArcExplorer(免费)、无线设备(如蜂窝电话、PDA)等。
7.支持多种操作系统平台
如NT4、Windows2000以及更高版本的Windows、Unix等;支持多种Web服务器:如IIS、iPlanet、Appache等。
2.3.1.2 ESRI公司的ArcGIS Server
ArcGIS Server是随着ArcGIS 9的发布而实施的支持局域网(LAN)和广域网(WAN/Internet)应用环境的完全网络GIS服务,在ESRI软件开发构架中是一个重要的里程碑。
ArcGIS Server是一个用来构建企业级GIS应用的平台:GIS功能在服务器端集中实现和管理,支持多用户负载均衡,提供高级GIS功能,并构建于工业标准之上。同时,ArcGIS Server是一个服务器管理器,用来管理各种地理资源:如地图、定位器以及运行在应用中的各种软件对象。GIS开发人员可以使用ArcGIS Server构建运行在标准的.Net和J2EE Web服务器中的Web Applications,Web Services以及其他企业级应用,也可以用ArcGIS Server构建桌面GIS,通过Client/Server模式和服务器实现通信。也就是说GIS应用开发人员能够通过Web Service或Client/Server环境,构建和部署高级GIS服务器应用,在服务器端实现以往只能在桌面GIS系统中实现的GIS高级功能。
ArcGIS Server是一个分布式系统,它由几个部分组成,可以分别部署在不同机器上,它们分别在进程的管理、关闭、启动以及对象运行的服务器的负载均衡方面起着专门的作用:
(1)GIS服务器。宿主和运行服务器对象,由服务器对象管理器以及一个或多个服务器对象容器组成。
(2)Web服务器。Web应用和Web Service运行在其上,使用GIS服务器上的服务器对象。
(3)Web浏览器。最终用户通过其来连接到Web应用。
(4)桌面产品。通过HTTP连接到运行在Web服务器上的Web Services或直接通过LAN连接到GIS服务器上。
其中,服务器对象是提供和管理GIS资源,如地图、定位器以及地理处理模型等服务的软件对象,开发人员使用这些对象来开发他们的应用。ArcGIS Server服务器对象也是ArcObjects对象,也同样构建在ArcObjects基础之上,因此ArcGIS Server能在Web Application和Web Services中通过ArcObjects提供高级的GIS功能。
GIS服务器的对象管理器是一个运行在Windows上的服务,它管理着一组分布在一个或多个服务器对象容器机器上的服务器对象。当应用程序通过LAN或WAN连接到ArcGIS Server的时候,实际上是连接到服务器对象管理器,所以连接时提供的参数是服务器对象管理器所在机器的名称或IP地址。
与其他WebGIS开发工具不同的是,ArcGIS Server运行开发人员在一个服务器环境中访问完全的GIS功能,其显著特征为:
(1)标准的GIS框架。ArcGIS Server提供了一个标准的框架用于开发GIS服务器应用,可扩展的功能使开发人员能集中精力实现GIS应用,而不需要从零开始实现各种GIS功能。
(2)集中管理的GIS。ArcGIS Server支持集中管理的企业级GIS,如运行在服务器上的支持多用户的Web应用。Web服务器应用可运行在多种Web服务器上,支持任何数据量的用户访问。
(3)跨平台功能。ArcGIS Server ADF支持在Windows服务器平台上的.NET和Java Web应用开发,以及在Sun Solaris和Linux服务器上的Java开发。
(4)支持标准的开发语言。ArcGIS Server支持多种开发语言,包括.NET、Java、COM和C++,允许开发人员使用多种开发工具选择自己熟悉的编程语言进行开发。
ArcGIS Server是一个基于服务器的GIS产品,用于构建集中管理的、支持多用户的、具备高级GIS功能的企业级GIS应用与服务,如空间数据管理、二维三维地图可视化、数据编辑、空间分析等即拿即用的应用和类型丰富的服务。ArcGIS Server中包含了ArcSDE,用于通过多种关系型DBMS来管理基于多用户和事务的地理数据库。
ArcGIS Server是一套完整的、综合的服务器GIS,支持分布式环境下实现空间数据管理、地图显示、空间分析等功能。在9.2版本中,ESRI将ArcSDE技术集成到ArcGIS Server中,用于通过多种关系型DBMS来管理基于多用户和事务的地理数据库,使Arc-GIS Server具备了从数据管理到WebGIS应用的完整功能。
2.3.1.3 MapInfo公司的MapXtreme
MapXtreme是MapInfo公司推出的用于Internet和Intranet的应用服务器级产品,它向应用开发商提供了一个将地图功能集成到Web应用中的可视化组件,在一个集中管理的服务器上运行地图应用,以降低硬件和管理成本,提高应用性能、可靠性和安全性。
通过MapXtreme,用户可以在Internet/Intranet上发布基于电子地图的应用系统。所以最终用户只需按照浏览器,即可访问存放在服务器上的空间数据。在客户端用户可以对地图进行放大、缩小、漫游、查询、统计等操作。此外,MapXtreme还提供许多地图化功能,满足用户不同层次的需要,包括:专题图制作、缓冲区分析、地图编辑、空间选择、多种数据源访问等。
1.基于Internet/Intranet标准
MapXtreme采用标准的TCP/IP协议,通过HTTP进行文档和文件的传输,在浏览器端为标准的HTML语言,从而保证了与客户端浏览器的无关性。MapXtreme在客户端提供了两种工作模式,一种是标准的HTML网页,任何支持HTML的浏览器都可正常工作;另一种是Java Applet插件,这种方式能够增强在浏览器端的交互性,但对网络速率要求较高。MapXtreme向用户提供Java Applet源码,便于用户添加和维护自己的应用。在ASP环境下,MapXtreme在Server端的开发语言为VBScript或者JavaScript,开发环境为Visual InterDev,在客户端可方便地扩展HTML、Java或JavaScript支持。
2.分布式体系结构
MapXtreme支持分布式体系结构。它能与任何标准的Web Server相连。MapXtreme与Web Server的连接是通过应用服务器完成的。一个Web Server可以任意挂接多个MapXtreme地图应用服务器。MapXtreme的Server可以自动维护和协调Web Server和多个MapXtreme之间的请求和响应关系,无需用户编程解决。
3.瘦客户机
MapXtreme采用三层结构:客户机、客户机/服务器以及服务器。客户机具有用户接口,进行数据的显示,客户机/服务器负责应用处理过程,服务器端只进行数据的管理。这种体系结构使得应用系统能够在客户机和服务器端实现共享,或者运行在一些中间平台,一般称之为“应用服务器”。应用服务器能够进行大量的数据分析工作,因此减少了网络阻塞。在MapXtreme的工作方式下,所有的地图数据和应用程序都放在Server端,客户端只是提出请求,所有的响应都在Server端完成,只需在Server端进行系统维护即可,客户端无需任何维护,大大降低了系统维护的工作量。
2.3.1.4 Intergraph公司的GeoMedia WebMap
GeoMedia WebMap融入了OpenGIS思想,采用分布式结构,以HTML为应用层协议标准,以通用的浏览器为客户端软件,通过Microsoft ASP,客户端向服务器端提出请求,所有程序都在服务器端执行。当程序执行完毕后,服务器端仅将执行的结果返给客户端。
1.直接访问多源数据
GeoMedia WebMap利用了Intergraph的地理数据服务器和超图数据仓库技术,可以直接访问并发布多种格式的GIS数据,无须转换。与数据服务器技术配合,GeoMedia WebMap可将来自多种空间数据源的各类地理数据库结合起来使用。这些数据源包括:ArcView Shapefile、Arc/Info Coverage、MapInfo和Oracle、SQL Server、Access数据以及MGE、FRAMME、CAD文件等。(www.daowen.com)
2.数据的标准化
GeoMedia WebMap的全部数据都可以由大型商用数据库系统托管。数据标准采用Microsoft Access、Oracle、Sybase等数据库标准,用户投资建立的GIS数据库与其他系统可以进行数据共享和交流,从而大大提高了数据的共享和利用效率。
3.动态发布ActiveCGM图形
GeoMedia WebMap发布的图形方式是国际标准的开发的矢量数据格式Active CGM,动态地发布矢量图形,传送数据量小、速度快,便于用户获取数据,进行查询、分析。Geo-Media WebMap还可以动态发布直接来自于最新操作中的GIS数据库中的数据,这些数据包括以矢量为基础的图形,且无须将其转成新的格式或复制此数据库。用户可以通过显示和查询功能生成他们自己的交互式图形,实现在Internet或Intranet上浏览和检索空间信息。
4.客户端可进行空间分析
GeoMedia WebMap还提供各种基于Server的分析组件,用户在客户端只需通过浏览器就可以进行各种专业GIS分析,如路径分析、缓冲区分析、动态分段分析、管线交叉分析、地理编码等。
5.易于开发
使用GeoMedia WebMap发布空间图形信息使用标准的Web开发工具如JavaScript、VBScript、FontPage即可。因为GeoMedia是为Windows 98和Windows NT设计的,就像其他Windows工具一样,它的操作一般用户都很熟悉。同时GeoMedia WebMap还提供大量控件和对象用于二次开发,可以完成基于Web的各种GIS空间分析应用。
6.维护简单、客户操作简单
GeoMedia WebMap直接发布数据库中随时更新的数据,不必转换为其他格式,所以对所发布信息的更新和维护非常简单。另外,ASP的源程序在服务器端,不会被传送到客户端浏览器,可以避免被他人剽窃,也提高了程序的安全性。而在客户端,使用者不必具备太多GIS知识,只需使用浏览器即可完成对信息的浏览、查询和分析。而且GeoMedia WebMap支持多种浏览器。
2.3.1.5 AutoDesk公司的MapGuide
AutoDesk MapGuide由许多组件构成,包括AutoDesk MapGuide Server,AutoDesk MapGuide Autor和AutoDesk MapGuide Viwer。AutoDesk MapGuide Autor用于集成GIS和CAD数据以及设计智能地图。AutoDesk MapGuide Viwer位于客户端桌面,用于查看智能地图,并为最终用户提供交互的地图绘制环境。AutoDesk MapGuide Server用于向AutoDesk MapGuide Autor和查看器提供地图及相应数据。
除上述核心组件之外,还包括以下工具和实用程序:
Raster Workshop,用于最佳化栅格文件格式,以提高网络性能。它还提供工具,将扫描的蓝图、示意图和其他地图部分透明化,以进行分层处理。
SDF Loader,用于将各种业界标准的GIS和CAD数据格式转换为AutoDesk MapGuide空间数据文件格式(SDF)。
SDF组件工具箱,用于创建和修改SDF文件。
符号管理器,用于自定义AutoDesk MapGuide符号和符号库。
动态制作工具箱,用于支持需要动态制作地图的应用程序。此工具箱与XML地图文件格式配合,可为AutoDesk MapGuide开发人员提供更大的灵活性。
用于Oracle Spatial的AutoDesk MapGuide应用程序,可直接连接Oracle Spatial中存储的数据,无需进行格式转换。
用于Shp的应用程序,可直接使用ESRI的Shapefile格式的GIS数据,无需进行格式转换。
AutoDesk MapGuide LiteView,基于Java Servlet的服务器端程序,可为用户提供栅格地图。无需下载和安装查看器,允许跨平台使用。
2.3.1.6 超图公司的SuperMap IS
SuperMap IS是基于SuperMap 2000和GAS(Global Application Server,超图公司开发的应用服务器组件)的地图数据发布服务,SuperMap组件提供数据管理和数据处理服务,网络应答传输由GAS来完成。
SupMap IS从结构上分为客户端、地图服务器、群集服务器、地图服务管理器,包括图像控件、网络控件、服务控件、远程管理控件等。
SuperMap IS采用多实例服务器处理并发用户请求,网络应答传输由GAS来完成,SuperMap组件提供数据管理和数据处理服务。对于每台服务器,可以配置多个应用,每个应用可以启动多个实例,每一个实例的数据请求处理是同步的,而数据传输是异步的。
在这种体系结构中,各部分均采用组件式方法进行设计,所以组件运行于服务器端,集中管理和配置,客户端采用HTML、XML和JavaScript开发,不需要使用任何插件。服务器端的组件分为以下几个部分。
1.网络组件
主要用于处理网络请求,与浏览器进行交互通信,负责接受请求和返回结果,嵌入应用程序进行开发,可以与GAServer Enterprise群集服务协同运行,也可独立运行。网络层采用单进程处理多线程传输的结构,多个进程可以通过群集服务集中到一起。
2.GIS组件
GIS组件是网络地图服务的核心组件之一,所有的地图操作与空间数据管理都通过该组件来实现。GIS组件可以使用各种支持组件化编程的地图引擎,如SuperMap、MapX、MapObjects等,只要具有将地图处理结果输出到Windows DC或其他可处理格式文件的能力即可。
3.格式转换与影像处理组件
实现将地图输出的结果转换到JPG等浏览器可以显示的影像文件或其他文件格式。如果自行开发其他工具,也可实现如VRML、Flash、CGM等格式的输出。通过影像处理组件的虚拟绘图设备,可以将Windows DC的绘图输出到内存DC,并进一步输出保存为WWW浏览器支持的格式,如JPG格式等。
4.服务器群集与任务分派组件
负责服务器调度管理和平衡负载,是NT Service程序。
5.服务器管理组件
服务器管理组件是地图应用的管理和配置工具,包括:
(1)桌面管理器:以简单的方式配置地图服务的各种参数,并保存到注册表中,可以通过该工具启动、停止地图服务,查询当前运行状态;
(2)服务管理器:配置地图服务的各种参数,保存在XML文件中。服务管理器直接管理NT Service,通过NT Service来控制地图服务。采用服务管理器来管理,同时兼具远程管理的功能。
SuperMap IS的特点有:
(1)支持服务器群集管理,多台服务器可以群集运行,并且支持局域网内部群集的代理访问方式。
(2)支持远程管理。
(3)支持多地图应用。
(4)管理器支持以桌面的方式和以服务的方式运行。
(5)支持企业级管理,可以集中化管理多台服务器。
(6)支持多种地图引擎,可以注册和使用多种地图引擎。
(7)支持海量数据,通过SuperMap地图引擎,可以使用海量的影像数据和矢量数据。
(8)支持多种数据源,通过SuperMap地图引擎,可以在Internet上集成不同格式、不同存储方式、不同来源的空间数据,并通过浏览器进行快速访问。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。