欢迎来到天天文库
浏览记录
ID:26892746
大小:49.00 KB
页数:3页
时间:2018-11-29
《基于arcims的webgis系统的原理与开发》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于ArcIMS的WebGIS系统的原理与开发摘要本文主要介绍了基于ArcIMS的S地图服务器的组成部分进行了分析,对如何基于ArcIMS进行二次开发进行了研究,并提出一种利用jython进行快速开发或原型化的方法。关键词S;jython;RAD随着计算机通讯网络(包括有线与无线网)的大容量和高速化,GIS已成为在网络上的分布式异构系统。S是ESRI公司的主要产品之一,也是当前S是一款功能强大的发布地图和元数据的产品,通过ArcIMS可以创建地图或者服务描述文件,发布地图、数据和元数据服务,进而创建一个基于服务的网络应用。ArcIM
2、S支持UNIX/Linux、S原理ArcIMS架构清晰,原理也较简单,基本工作流程为:服务器接受来自客户端的请求,服务器从空间数据源读取数据然后按客户端的相应的要求处理后返回给客户端,对于不同的服务,处理和返回数据的方式不同,但客户端和服务器之间通讯的语言都一样,即ArcXML。因此研究ArcXML对了解ArcIMS原理以及基于ArcIMS的二次开发至关重要。ArcXML是ESRI针对GIS应用所开发的XML(可扩展标记语言)扩展,它提供了访问所有的ArcIMS功能的能力,ArcIMS的地图配置文件也是ArcXML格式的,一个典型的
3、Arcxml请求的如下所示:<?xmlversion="1.0"encoding="UTF-8"?><ARCXMLversion="1.1"><REQUEST><GET_IMAGE><PROPERTIES><ENVELOPEminx="-125"miny="25"maxx="-67"maxy="50"/></PROPERTIES></GET_IMAGE></REQUEST></ARCXML>4基于ArcIMS的S的
4、L进行了封装,开发者可以避免与XML之间打交道,降低了开发难度,这种方式相对于第一种方式可定制性强,开发者对系统的可控制性较大。两种开发流程如图2所示:图2ArcIMS开发流程5利用jython和java连接器进行快速开发ArcIMS的java连接器提供了最完整和和强大的对象模型,然而通过java开发速度较慢,不利于快速开发或快速原型化。Python是一种简单且强大的动态语言,拥有代码简洁、跨平台等多种优点,Python在java虚拟机(JVM)上的实现称为jython。Jython可很好地与java开发环境集成,通过java连接器
5、和jython可快速的创建或原型化基于ArcIMS的S服务通讯,下面的例子中,在jython交互开发环境里实例化了一个map对象并连接到testservice服务:from.esri.aims.mtier.ioimport*from.esri.aims.mtier.model.mapimport*classImsMap(Map):def__init__(self,service):con=ConnectionProxy()con.setConnectionType("tcp")con.setHost("127.0.0.1")con.
6、setPort(5300)con.setService(service)self.con=condefstartMap(self):Map.setHEight(self,400)Map.setWidth(self,600)Map.initMap(self,con,750,0,0,0,0)Map.refresh(self)returnMap.getMapOutput(self).getURL()>>>map=ImsMap("TestService")>>>map.startMap()',2006[4
7、]AlexMartelli.PythoninaNutshell,2ndEdition[M].California:O'REIllyMedia,Inc,2006[5]Robert].California:Ne.
此文档下载收益归作者所有