基于MapXtreme的校园WebGIS系统实现-_第1页
基于MapXtreme的校园WebGIS系统实现-_第2页
基于MapXtreme的校园WebGIS系统实现-_第3页
基于MapXtreme的校园WebGIS系统实现-_第4页
基于MapXtreme的校园WebGIS系统实现-_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第34卷第5期测绘与空间地理信息GEOMATICS SPATIAL INFORMATION TECHNOLOGYVol34,No5收稿日期:20110510基金项目:辽宁省高等学校创新团队项目(2008T 085;辽宁省高等学校重点实验室项目(2009S 049资助作者简介:任东风(1978,男,辽宁阜新人,讲师,地理信息系统专业博士研究生,主要从事与测绘和地理信息系统相关学科的科研和教学工作。基于MapXtreme 的校园WebGIS 系统实现任东风,徐爱功(辽宁工程技术大学测绘与地理科学学院,辽宁阜新123000摘要:万维网地理信息系统(WebGIS 是当前GIS 的一个重要发展方向,其基

2、于Internet 的信息共享能力标志GIS 成功地进行了一场革命。文章通过研究WebGIS 的原理和MapXtreme 平台的特性,最终设计并实现了校园WebGIS 。关键词:WebGIS ;Internet ;MapXtreme ;设计中图分类号:P208文献标识码:B文章编号:16725867(201105002204The Implementation of Campus WebGIS System Bases on MapXtremeREN Dong feng ,XU Ai gong(School of Geomatics ,Liaoning Technical University

3、 ,Fuxin 123000,China Abstract :WebGIS is a very important developing direction of GISs development ,its information sharing ability based on Internet makes it a revolution of GISThis article studies the theory of WebGIS and the characteristic of MapXtreme ,then disigns and carries out the campus Web

4、GIS in the endKey words :WebGIS ;Internet ;MapXtreme ;design0引言目前,许多学校的校园面积不断扩大,地理环境相当复杂,校园管理与人员配置之间的矛盾显得尤为突出。同时,网络技术的快速发展,为在B /S 构架上以Web 为基础的WebGIS 发展提供了条件。校园地理信息系统多是单机版系统,或是基于客户机/服务器结构的系统,难以实现数据共享、数据的维护和更新,并容易造成数据冗余。此外,由于每个用户都需要安装一套地理信息系统软件,从而造成了系统的成本过高。建立校园WebGIS ,将校园地理信息发布于互联网上,可以满足广大师生和社会获取校园地理

5、信息的需求。用户可以通过Web 浏览器访问WebGIS 服务器,获取校园空间数据,并能实现漫游、缩放、信息查询和位置查询等GIS 功能。文章对基于MapXtreme 的校园WebGIS 系统实现进行了探讨,从而为中小型WebGIS 系统的建立提供参考1。1MapXtreme 简介11MapXtreme 工作原理MapXtreme 技术系统主要由3个层次组成。顶层是Internet 技术。在这一层中,有非常成熟的TCP /IP ,Web 等技术,并且有CGI ,HTML 等标准。保证了其标准性、开放性和先进性;底层是MapInfo Peofessional 技术和基于ActiveX (OCX 技

6、术的MapX ,MapInfo Professional ,经过十多年的发展,已经相当稳定和完善,足以担当空间数据库内核。MapX 是一个性价比好、功能强大的OCX 控件,提供了真正的对象联接与嵌入(OLE 组件。在这两层之间,是MapXtreme 模块,其不仅是MapX 在Internet /Intra-net 系统上的扩展,更代表了新一代的地图应用服务器模式。它采用了很多新技术,如内置开发工具、进程调度器、分布应用模式等2。在编写、调试完成MapXtreme 脚本以后,脚本被发布在Web 服务器上,当它被客户端访问时,就会自动执行。例如,用户在页面上单击了一个按钮以后,在脚本文件中响应该动

7、作的脚本会自动被执行,产生一个对地图引擎的调用。所谓地图引擎,实际上就是一个MapXtreme 对象,它有一组对MapX 进行访问的属性和方法。在脚本和地图引擎通信的过程中,地图引擎返回给脚本一个格式为GIF 或JPEG 的图像文件,这个图像即为将被放到HT-ML 页面中显示给用户的最终的地图图像。下面将对这个地图引擎作进一步介绍。1地图引擎地图引擎提供了应用程序和MapX通信的渠道。地图引擎包括了3个重要的组件:MapX,MapXtreme 和MapXBroker。对于编写应用程序来说,每一个组件都有一组它们自己的方法和属性,而为了使应用程序能和各种地图引擎建立通信,MapXtreme引入了

8、第四个组件MapXCourier。2MapXMapXtreme工作的核心是MapX。这是MapInfo公司的一个服务器端ActiveX。运行于服务器上的Web应用程序通过一系列静态和动态的页面在浏览器和服务器之间交换信息,同时也对MapX进行访问。3MapXServerMapXServer实际上是对MapX的一个封装,这个封装使得MapX可以在一个安全的线程中运行。MapXServer 对象在整个应用程序的运行过程中都起作用,每一个MapXServer的实例都在它自己独立的线程空间中运行。4MapXBrokerMapXBroker用于启动一个MapXServer实例。除了对于采用了纵向扩展的应

9、用程序外,这个组件不是必须的。假若一个应用程序同时拥有几百个甚至上千个用户,那么服务器就必须承受巨大的压力。在服务器端必须有几百个MapXServer实例被同时激活,这就要求服务器有较高的配置,拥有数目较多的存贮器或处理速度较快的中央处理器以应付多个MapX实例。尽管如此,对于每个客户机来说,速度可能也会慢得难以忍受。采用MapXBroker,可以优化Web站点,是改善出现上述这种情况的一种行之有效的方法。MapXBroker是作为一个服务运行于Windows NT或Windwos2000服务器上的,一旦MapXBroker被启动,它就建立起一个MapXServer对象的缓冲池,每个MapXS

10、erver 都包含一个MapX对象并且都有它自己的独立的进程空间。当MapXtreme应用程序需要执行一个关于地图处理的操作时,应用程序无需让MapXCourier申请并新建一个私有的MapXServer实例,而只需向MapXBroker请求一个已经存在于缓冲池中的MapXServer实例,应用程序利用这个“借来”MapXBroker实例完成创建地图等操作,然后释放该实例,将该实例还给MapXBroker,共享给其他用户。这种共享MapX对象的方法解决了用适度资源来支持上百个用户同时提出地图请求时服务器资源开销过大的问题。这个方法的另外一个优点是:MapXServer对象是在MapXBroke

11、r启动时就已经启动了的,而一般情况下, MapXBroker在服务器启动时候就已经启动。对于应用程序来说,从MapXBroker中获取一个已经启动了的MapX-Server实例要比重新启动一个MapXServer实例快得多。对于SpatialWare用户来说,这种方法也是很受欢迎的,因为预先启动了的MapX可以在服务器启动时候就与远程的SpatialWare服务器建立连接,这可以节省相当可观的时间和大大提高SpatialWare用户的工作效能。5MapXCourier严格地说,MapXCourier不是一个地图引擎的组件,但它是一个在应用程序和地图引擎之间起桥梁作用的对象。MapXCourie

12、r在应用程序中为用户向MapXBroker请求一个MapXServer实例,在用完以后释放该对象。12MapXtreme应用程序工作流程当用户在客户端进行相应的地图操作后,客户端浏览器便向Web Server发出一个HTTP请求,递交Form表单。ASP脚本语言应用程序则根据提交表单的信息,判断用户的地图操作请求类型,并对MapXtreme地图应用服务器的Map引擎进行访问。Map引擎进行相应的空间分析和处理后,便将处理结果以位图(gif,jpg,png等的形式传递给Web Server,Web Server再将此位图文件嵌入到HTML页面中并返回到客户端的浏览器上。MapXtreme的这种B

13、/S应用程序的工作过程,实际上就是用户浏览器与应用程序之间通过静态或动态的WEB 页面进行信息交互的过程3(如图1所示 。图1MapXtreme应用程序工作流程Fig1MapXtreme application work stream2校园WebGIS实现21系统开发环境系统开发环境使用Windows XP操作系统,IIS51提供信息服务,MapXtreme30for Windows提供地图服务,开发软件为DreamWeaver,开发语言为ASP,VBScript, JavaScript以及HTML4。22数据获取和处理建立本系统需要的数据包括校园空间数据的各种属性数据。开发本系统时已经具有比

14、例尺为1500的DWG格式的校园平面图,将其转化为MapInfo格式即可供本系统使用。本系统使用的属性数据主要集中在建筑物上,手动输入到校园的MapInfo表中,然后使用MapX的Geoset Manager将其配置为gst文件。23校园WebGIS的功能设计与开发校园WebGIS的功能应该有地图操作、缩放值设定、图层控制、信息查询、位置查询等。1开发“Toolbarasp”网页,提供地图操作和信息查询功能,包括工具栏的显示以及和用户的交互,并向服务器提交用户的操作。例如,显示一个“居中”按钮并根据用户的操作采用不同的样式显示,当用户将鼠标悬停在32第5期任东风等:基于MapXtreme的校园

15、WebGIS系统实现该按钮上,自动弹出信息提示。当操作提交到服务器端后,服务器端运行VBScript 脚本判断选择的工具,并根据不同的工具进行不同的处理,如判断为信息查询工具,则查询出信息并显示5,如图2所示 。图2查询信息显示Fig2Display query information2编写“ZoomControlasp”和“ZoomControlConstantsasp”网页,提供缩放值设定功能,包括控制栏的显示以及和用户的交互,并向服务器提交用户的操作,服务器端再使用VBScript对其处理:If(StrComp(RequestForm(cZoCoOkayToZoom, cTrue,vbT

16、extCompare=0ThenZoomMap RequestForm(cZoCoChangeZoomEditTextbResult=GetMapZoom(dZoomZoomControlHandler=True3编写“Queryasp”和“QueryConstantsasp”,提供位置查询功能,包括对话框的显示以及和用户的交互,并向服务器提交用户的操作。function CreateQueryFormForIE(leftIEZoomPosIn,topI-EZoomPosIn,strIEZoomValIndocumentwrite("TABLE ID="QuTable&qu

17、ot; BGCOLOR="+"%=cQuColor%"+"STYLE="position:absolute;left:"+Mathround (leftIEZoomPosIn+"px;top:"+Mathround(topIEZoomPosIn+"px""documentwrite("TR ID="%=cQuOuterRow%""documentwrite("TD/TD"documentwrite("TD ID=da

18、tacellQueryText TITLE ="%=cQuTextOfTitle%""documentwrite("INPUT TYPE=TEXT NAME=" +"%=cQuInputText%"+"SIZE="+(20+1+ "MAXLENGTH="+20+"VALUE="""+"ONMOUSEOVER="windowstatus=thisparentEle-menttitle""+"ONMO

19、USEOUT="windowstatus=""+"ONCHANGE="VerifyInput(this""documentwrite("/TDTD"+"%=cQu-Blank%"+"%=cSpace%"+"/TD"documentwrite("TD ID=datacellQueryButton TI-TLE="%=cQuButtonTitle%""documentwrite("INPUT TYPE

20、=""+"%= cSubmit%"+""NAME=""+"%=cQuSubmitBut-ton%"+""VALUE=""+"%=cQuButtonValue%" +""STYLE=""+"height:26px;width:75px;fontsize:12;"+"backgroundcolor:"+"%=cQuColor%"+"

21、 ""+"ONMOUSEOVER="windowstatus=thisparentEle-menttitle""+"ONMOUSEOUT="windowstatus=""+"ONCLICK="VerifyInput(document%=cForm-Name%=cQuInputText%""documentwrite("/TDTD/TD/TR/TABLE"QuInitBorders("QuTable","%=

22、cQuLightColor%","%=cQuDarkColor%"documentwrite("INPUT TYPE="HIDDEN" NAME="+"%=cQuOkayToQuery%"+"VALUE=""+"%=cFalse%"toLowerCase (+"""return true以上函数为IE浏览器生成了如图3所示的对话框 :图3查询对话框Fig3Find dialog frame之后,服务器端对用户提交使用VBScr

23、ipt进行处理,这里使用了MapX中的LayerSearch(方法。部分代码如下:For c=1To Map1LayersCountobjMapXLayers(cSelectionClearSelectionNextSet objLayer=objMapXLayers("建筑物"Set objDS=objMapXDataSetsAdd(miDataSetLayer, objLayerstr="建筑物名称like"+"""%"+RequestForm (cQuInputText+"%""

24、"Set ftrs=objLayerSearch(strFor Each ftr In ftrsobjLayerSelectionReplace ftrsobjLayerSelectionAdd ftrsNextobjMapXSelectionStyleRegionBackColor=5If lyrSelectionCount0Then42测绘与空间地理信息2011年For Each ftr In objLayerSelectionSetMapCenterAndZoomTo ftrCenterX,ftrCenterY,200Next例如:用户输入“东楼”并提交查询后,服务期端通过运行

25、VBScript脚本查询到对象的位置后居中放大显示给用户(如图4所示 。图4查询到目标Fig4Find target24校园WebGIS界面用户可以使用标准的浏览器如IE或Netscape访问本系统。之后可以使用工具条对地图进行居中、放大、缩小、距离测量、信息查询等操作,还可以通过输入缩放值来设定地图的显示尺寸;输入欲查询的建筑物名称来查询建筑物的空间位置;网页的左侧提供了查询信息和帮助信息的显示6(如图5所示。3结束语随着Internet的普及和用户对GIS数据共享的需求的增加,WebGIS必将成为GIS发展的一个热点,本文通过研究基于MapXtreme的WebGIS原理和方法构建校园Web-GIS,实现了将校园空间数据集中存储于服务器上,客户端只需要普通的浏览器便可以方便地共享这些信息,实现了校园空间数据的快速发布 。图5系统界面Fig5System interface参考文献:1孟令奎,史文中,张鹏林网络地理信息系统原理与技术M北京:科学出版社,20052刘南,刘仁义Web GIS原理及其应用M北京:科学出版社,20023孟令松WebGIS关键技术及基于MapXtreme的应用和开发D太原:太原理工大学,20044陈娉娉,白玲,陈宇翔利用MapXtreme开发WebGIS的关键技术J测绘通报,2003(1:59615阚宜萌基于MapXtreme的校园We

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论