1InternetMapServer的发展和新技术应用DevelopmentofInternetMapServerandNewTechnologyApplication上海杰狮信息技术有限公司赵涛(欢迎访问:)摘要:ArcIMS作为EsriGIS系统中的一个重要组成部分,对于WebGIS应用前景起到了重要的推动作用,是基于网上制图和分布式GIS的新一代产品。分布式处理、Java技术和ArcIMS将WebGIS的实现技术现状得到了一个大的改观。关键字:WebGIS,Java,ArcIMS,MOJava,MOIMS,XML有关InternetMapServer的技术实现,其商业技术产品的推出,并不是一个短期的过程。对于Esri开发的InternetMapService解决方案,最早期的产品,为Esri的InternetMapServer1.0,但是这个系统并没有被Esri作为一个产品推向市场,而只是作为ArcExplore1.0的一个数据服务,提供二进制流格式的地图数据,同时ArcExplore1.0也提供给用户保存远程地图数据至本地文件的功能。而后,Esri推出了MapObjectInternetMapServer(MOIMS)产品,MOIMS作为一个商业运作的InternetMapService产品,在其推出至中国市场至今,在Webgis应用领域中,占领了部分的市场。MOIMS是建立于Esri的MapObject产品的基础上,地图数据的处理依赖基于MapObject开发的服务器,而MapObject是基于ActiveX的控制插件,这决定了MOIMS只能应用于MicrosoftWindows系统。在将MapObject同Web服务器捆绑的实现上,Esri开发了一个动态连接库(Esrimap.dll,即WebGIS行业内上称的WebLink)来扩展MapObject,基于MapObject开发的服务器通过监听WebLink的指定端口,来响应来自客户端的请求。客户端的空间查询请求,通过WebLink传递至服务器端,在服务器端上进行地图渲染,渲染结果以位图的形式被客户端获得。关于客户端的开发,平台宽容度较大,作为桌面系统可以采用VisualBasic,Delphi,C++,Java,但考虑应用到WebGIS上,往往采用JavaApplet技术、JavaScript或VbScript脚本语言或ASP、PHP、JSP技术等。2基于MOIMS开发WebGIS系统,需要如下几个问题需要注意:1.客户端与服务器端的通讯协议2.多任务处理,即服务器的多线程问题3.安全问题4.功能扩展的局限性在MOIMS之后,Esri也推出了基于ArcView的InternetMapServer产品,ArcViewIMS,ArcViewIMS并没有很大的商业价值,仅是一个短期产品,其实现上与MOIMS非常类似,也采用动态连接库作为通讯组件。ArcIMS作为EsriGIS系统中的一个重要组成部分,对于WebGIS应用前景起到了重要的推动作用,是基于网上制图和分布式GIS的新一代产品。ArcIMS存在两个最显著的功能,这两点功能的实现将WebGIS的实现技术现状得到了一个大的改观。即:一、可以在服务器和浏览器或其他客户间建立数据流,这一功能使得用户可以将本地数据与Internet上的数据结合起来,从而为用户和数据发布者提供了一个更广阔的空间。二、采用应用服务器构架,实现了地图发布的分布式处理,从传统GIS向分布式GIS迈出了重要的一步。同时,ArcIMS的开发,也是EsriJava发展战略的一个重要部分,ArcIMS构架体系中,共包括四个构成部分,客户端构成、连接器构成、应用服务器构成和空间服务器构成。在客户端构成中,从ArcIMS3.0版本起,Esri就强调建立完善的JavaAPI库,其内部版本ArcIMSSDK,就是建立ArcIMSJavaViewer(包括StandardJavaViewer和CustomizedJavaViewer)和ArcExplore3的基本API库。在2002年4月Esri推出的MapObjectJavaEdition1.0即是ArcIMSSDK的最新版本。基于MapObjectJavaEdition,采用Java2平台,可以开发出功能强大客户端应用。对于连接器构成,ArcIMS标准的连接器是SunMicrosystemsJavaServlet,Servlet是一种基于Java平台的健壮的WebServer实现技术。对于应用服务器,Esri同样采用Java技术,建立分布式的地图处理机制。而在空间服务器构成中,ArcIMS采用了C++实现其的空间数据处理。ArcIMS的实现很大一部分借助了Java2技术,保证了系统的健壮性和优秀的跨平台特性,也低成本的实现其分布式GIS技术。在解决客户端与服务器端的通讯协议的问题上,ArcIMS采用了XML技术,3即ArcXML,XML是针对数据内容和结构的分析和描述,通过使用ArcXML,能够标准化的解决通讯协议的定制和解析。特别在客户端构成方面,基于Java技术,可以将客户端的功能得到尽可能的扩充,在目前的宽带接入技术日趋经济、成熟的情况下,建立ThickClient概念的WebGIS应用。通过JavaMediaFrame(JMF)、Java3D支持,可以实现用户交互性强、表现信息量丰富的WebGIS应用。对于一些通用的、底层的、而且又要涉及大数据量的应用功能,不宜通过客户端扩展来实现,行之有效的解决方案是来扩展ArcIMS的空间服务器的服务功能,建立新的实现特殊功能的空间服务器,如最短路径分析,商圈空间分析等。4同时扩展ArcXML,增加特殊功能的空间请求标签。由于是建立在ArcIMS空间服务器构成上的,则借助于ArcIMS应用服务器轻易的实现了分布式处理。ArcIMS应用客户端的区域分析功能参考文献:[1]CharlesF.GoldfarbandParlPrescod,张利、王显著译,《XML实用技术》。[2]M.Konecny,1999,TheDigitalEarth:SpatialDataInfrastructuresfromLocaltoGlobalConcept,inTowardsDigitalEarth-ProceedingsoftheInternationalSymposiumonDigitalEarth,p57-68.[3]ArcIMS3.0-AnApplicationDeveloper'sPerspective,AndrewWaxman,ChiefTechnologyOfficer,TelemorphicInc.[4]MichaelF.GoodChild,1998,WhatisaGeoLibrary,NationalResearchCouncil.[5]KennGardels,1998,TheGeodataNetwork.[6]宋献涛,实现的基础技术,计算机世界,1998年第三十六期:Internet&Intranet[7]UniversityConsortiumforGeographicScience,ResearchPrioritiesforGeographicInformationScience,CartographyandGeographicInformationSystem,1996,23(3),pp:115-127[8]ArcIMSVersusMapObjectsIMS:Architectures,WebDesign,andCustomizations5AnESRIWhitePaper•November2000[9]GeographicInformationSystemsforJavaAnESRIWhitePaper.April2002本文选自《第五届ArcGIS暨ERDAS中国用户大会论文集2002》富融科技有限公司编