当前位置:文档之家› 基于ArcGIS+Server的WebGIS开发

基于ArcGIS+Server的WebGIS开发

基于ArcGISserver的webGIS开发
摘要:胁GISsemr是一个用来构建企业级webGIs的平台.首重研究了A稍IsServer的基本知识和系统架构后,并在.Net平台下结合实际进行了开发应用,同时指出了在开发中的若干注意事项。

关键词:ArcGlsSew%WebGIs;开发
l概述
we嘲s作为GIs新的发展方向,近几年来取得了巨大的发展,但无论是初期采用CGI技术、Plug-III技术,以及之后的采用JavaAp_pleI、Activex作为解决方案,在数据请求方面其始终遵循的是一种请求,响应模式【l】,用户体验差,严重阻碍了WebGIS的进一步发展。

典型的解决方案是EsIu提供的AIcGISServ口。

妣GIsserver支持GML3.0相关规范以及
OGC的wMS和wFs接口,通过其webAp-pHcati佣和webServiee构架,在8,s模式下,可在普通IE浏览器环境中获得类似ArcInfo的专业空间数据管理和GIs分析功能,使GIs应用系统在分布式环境下的数据共享和互操作
成为可能,还提供后台服务功能扩展机制。

着重研究ArcGIsServer中的体系结构及在.№t平台下基于ArcGIsSer"r9.2的应用开发。

2ArcGIsSe竹er体系研究
2.1系统简介
AJeGIsserv日是一个发布企业级Gls应用程序的综合平台,提供了创建和配置GIS应用程序和服务的框架,并实现空问数据管理,空间可视化,空间分析的功能隅。

2.2关键概念
2.2.1服务器对象管理器CsoM)soM是运行在GISServer上的window“Ulli)【服务,管理分布于一个或多个容器服务器中的服务器对象或服务器对象组。

当web应用通过LAN或wAN直接连接到GIsserver时,实际是建立—个与soM的连接,连接参数是运行SoM的服务器名称或Ⅲ地址。

2.2.2服务器对象容教Salc)SOC是一个运行一个或多个服务器对象的进程。

SOC进程由s0M启动和终止。

SOC进程运行于GISServef的容器服务器之上,每一个容器服务器可以宿主多个soc进程。

2.2.3服务器上下文
一个服务器上下文是运行一组服务器对象的服务器上的保留空间。

可以将服务器上下文想象成一个进程,由运行服务器对象的服务器管理。

服务器上下文提供了一种在相同空间和“进程”中创建对象的方法。

并作为一个运行的服
务器对象。

2.3体系结构
ArcGISServer是一个由多个可以分布于多台机器的组件构成的分布式系统。

ArcGISSer代r系统的每个组件都在各自扮演着特定的角色,诸如进程管理、激活、解除活动以及平衡
分配到给定服务器对象或服务器对象组的资源等。

2.3.1GISserver
发布各种GIs资源,例如Maps、Glob铭、Add-瞄【地咖惜,并将它们封装为服务提供给客户端应用。

∞server本身包括两部分:St册er0bjectM龇lagt贯(SO岣和S巴眦rO场ectC∞taimB(S0cs)。

2.3.2Web服务器
WebServer包含Web应用的部署以及Web服务,它们均使用GIsScn,er上的服务资源。

2.3.3客户端
客户端是多样化的,可以是web客户端、Mobile移动设备、通过m’IP连接到ArcGISSenrerIn£∞et服务或通过LAN,WAN连接到ArcGIsServerLocal服务的桌面应用。

3ArcGISServer应用开发
作者开发的长沙市餐饮管理信息系统为初步实现集中管理型的webGIs系统,系统开发上选用了微软.NET框架结合ArcGIsserv盯9.2完成系统的主要功能。

在开发平台的选择上
主要从系统的需求以及系统的稳定性和易维护
性的角度来考虑的。

系统提供了对餐饮信息的综合管理,并且涵盖了大量的文字和地理空间信息,能对大景的空间实体信息进行有效的管
理,使用户能够方便高效的进行处理地理信息数据。

3.1数据动态加载
由于地图数据具有数据量大的特点,本系统中初始化时并不加载全部数据,只有当用户需要相关数据时,通过消息触发后利用Ai舣与
Ar{cGISServer进行异步消息响应实现数据动态加载,并且在结果返回之前仍然可以进行地图漫游,缩放等操作,这样大大减少用户等待时间。

提高了系统效率。

在服务器处理数据并生成页面刷新代码,用户只需将剥新字符串添加至M卵组件的回调字符串集合中,返回客户端后系统将借助于ADFJav8Script函数库对字符串进行解析,从而实现不同情况下的web组件局部刷新:
a.同时刷新多个ADFw曲组件;
b.同时刷新M印组件及其他web组件;
c.在^18p的客户端事件中实现ADF组件的刷新;
3.2属性数据异步查询
无论是进行属性数据查询或是空间查询,其都是服务器端通过ArcGIsServer提供的SO进行查询获取匹配结果集后再返回客户端。

IServerobject鲫=∞rvercontext.Serverob—jec酬获取当前s0对象IMapSeHercsm叩2(IM印Sewer)∞∥地图对象RecordSet陀¥IIlt=∞map.QueryFeature—Dab(map腿n地.4,pQtleryFilter);,服据查询条件在指定图层进行查询,并返回结果集此外基于ADFAi驭良好的扩展性,系统结合了Asp.N既Aj默1.O(Atlas)进行Aiax开发,目前ADF组件并不支持upd8teP肌el更新机制四,但合理的利用Asp.NetAj“将很大程序上提升程序员效率。

最典型的本系统中实现了在部分属性查询时采用的类似于G009leSug_盼t的智能提示。

4结论
ArcGIsserver的最大贡献在于将高级的GIS功能引入到网络环境中,既考虑了局域网内的高效访问,又考虑了广域网上的松散耦合集成。

ArcGISServer提供了创建和配置GIs应用和服务框架,使得基于它来构建地理信息系统变得十分简单。

总之,Ar}cGISServer的将改变人们对传统webcIs的看法,但只有多种技术的结合,才能真正实现系统整体效率的升。

参考文献
【l】冯文钊,彭立芹,张宏,阁国年.基于.NET平
台和Webseryice方式的webGIS系统集成fJl.
计算机工程,2004,24(11):64—66.
【2】ESm.DeveIoperHelpForAJcGIsv9.2【M】.
USA:Esri.2006.
【3】Esm.A四GIsSe删De"10p哪%de【R】.
2()06.。

相关主题