基于 MapXtreme Java 的 WebGIS 系统设计与实现.doc

上传人:sccc 文档编号:5199985 上传时间:2023-06-13 格式:DOC 页数:6 大小:1.10MB
返回 下载 相关 举报
基于 MapXtreme Java 的 WebGIS 系统设计与实现.doc_第1页
第1页 / 共6页
基于 MapXtreme Java 的 WebGIS 系统设计与实现.doc_第2页
第2页 / 共6页
基于 MapXtreme Java 的 WebGIS 系统设计与实现.doc_第3页
第3页 / 共6页
基于 MapXtreme Java 的 WebGIS 系统设计与实现.doc_第4页
第4页 / 共6页
基于 MapXtreme Java 的 WebGIS 系统设计与实现.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《基于 MapXtreme Java 的 WebGIS 系统设计与实现.doc》由会员分享,可在线阅读,更多相关《基于 MapXtreme Java 的 WebGIS 系统设计与实现.doc(6页珍藏版)》请在三一办公上搜索。

1、豆丁网精品论文基于 MapXtreme Java 的 WebGIS 系统设计与实现崔昊 武汉理工大学信息学院,武汉 (430063) E-mail:ch_hzchhz摘要:本文研究了 WEB GIS 平台的架构以及开发 WEB GIS 的一般方法,然后结合实际 课题,实现了其中一种架构方案用 JSP、Applet 和 Servlet 相结合的方式架构基于客户 端模式的 WEB GIS 系统。最后给出了系统部分代码和界面。关键词:地理信息系统,Applet,MapXtreme for Java中图分类号:TP3111 引言WebGIS 是将传统的 GIS 系统与 Internet 相结合的一项技

2、术。近年来,随着 Internet 技 术的不断发展与完善,传统的单机式 GIS 系统正在逐步向网络化发展。目前,WebGIS 系统 在网络上已不少见,例如将 Ajax 技术应用到 GIS 系统的 Google Map,Baidu Map 等。只要 用户拥有一台接入 Internet 的计算机,就可以通过浏览器访问到这些免费的在线地图服务, WebGIS 系统给人们带来了极大的方便。本文研究了一种将 Applet 技术与 MapXtreme 相结合开发 WebGIS 系统的方法,该系统 作为湖北京珠高速路面养护系统的一部分,已成功应用到实际当中。2 系统介绍目前,我国高速公路总里程正在迅猛增长

3、,交通运输的发展有力地推动着国民经济和 社会的进一步发展。与此同时,高速速公路的运营管理越显重要。其中高速公路养护管理 最为关键。但在实际养护管理工作中,存在着 1)养护管理滞后。目前的管理模式基于传统 的单机辅肋管理,作为养护管理部门不能及时了解高速公路全线路面病害情况与路面养护 状况,因为大量的巡检数据不能及时刷新,故无法及时、真实地了解养护工程的质量、养 护进度等信息,只能事后处理和控制。2)养护工程管理较为复杂。路面信息的及时反映及汇 总,修复信息的改变,养护方案、历史数据的存储、查询,养护工程计划及费用预算、实 施等,只有用现代计算机及其网络技术构成先进的管理系统和工作流程才能建立在

4、大量的 数据收集、统计、分析的基础上实现,而这一方面没有管理的信息化是无法完成的。本套系统受湖北省京珠高速公路管理处委托开发,旨在建立一套科学的高速公路管理系 统,以提高高速公路运营管理效率, 及时掌握和了解其运营状态,进一步提高高速公路管理的 信息化、科学化、规范化,使高速公路保持优良的使用状态和服务水平,提高其经济效益和 社会效益。其中,电子地图模块作为系统的重要模块之一,起到了方便用户对具体位置的查 看、查询等作用。对于历史数据的统计、分析可以在电子地图上以直方图或饼图形式直观地 呈现给用户,有助于管理人员作出更加有效的养护方案,预算更加合理的养护费用1。3 系统设计与实现3.1 Web

5、GIS 的系统架构2本系统基于MapXtreme for Java(以下简称MXTJ)开发,MXTJ是100%的纯Java类,兼容Java2,具有Java语言的面向对象、跨平台性、支持多线程、安全性等所有特性。根据MapJ对象的位置、客户端的实现方式和数据发送回客户端的方式,MXTJ提供了三种WebGIS的架 构方案:服务器端模式、客户端模式、中等模式。根据实际需求,系统采用基于Applet技术 的客户端模式。基于客户端模式架构的特点是 MapJ 对象部署在客户端的 applet 中,客户机上需要Java 虚拟机的支持。其结构示意图如图 1 所示。MapJ 对象HTML 浏览器AppletSe

6、rvelet 容器 用户自定义的 Web 应用程序MDF 文件MapXtreme Java地图定义管理器MDF 文件JavaScriptMXTJ Web 应用程序TAB 文件地图图像MapXtreme Servlet数据库表图 1 基于客户端模式的 WebGIS 架构示意图Fig1 Design of WebGIS based on client model如图 1 所示,首先,由 MapXtreme for Java 提供的地图定义管理器 MapXtreme Java Manager 将 MapInfo 的 TAB 文件以及绑定的数据库表文件组织成.mdf 文件,然后 mdf 文件 由 We

7、b 服务器发送给 Applet 以显示地图,最后,用户与地图的交互由 Applet 实现,Applet 将用户请求发送至 MapXtreme Servlet,后者做出响应渲染地图,并将地图图像发送回客户 机。这种模式的优点是交互能力强,用户可以利用 Applet 实现客户端绘图,这有利于实现 区域选择查询、增加标注图元以及鹰眼图等复杂功能。3.2 系统功能模块及代码实现系统的运行界面如图 2 所示。主要功能包括以下几个部分:3.2.1 地图的基本功能 地图的基本功能包括:放大、缩小、漫游以及查看图层等。图 2 系统运行界面Fig2 Main interface of the system部分代

8、码示例如下:publicclassEMapextendsJappletimplements ActionListener,PropertyChangeListener , MouseListener,MouseMotionListener/定义mapPanel容纳地图JPanel mapPanel = new JPanel();/实例化VisualMapJVisualMapJ e_MapJ = new VisualMapJ();/实例化工具条MapToolBar e_mapToolBar = new MapToolBar();/实例化各种地图操作工具ZoomOutMapTool zoomout

9、=new ZoomOutMapTool();ZoomInMapTool zoomin=new ZoomInMapTool();/将工具添加到工具条中e_mapToolBar.add(zoomout);e_mapToolBar.add(zoomin);/将地图对象添加到mapPanel中panelMap.add(e_MapJ, BorderLayout.CENTER);/将工具条对象添加到mapPanel中panelMap.add(e_mapToolBar, BorderLayout.NORTH);运行结果如图 2 所示3.2.2 区域查询功能 区域查询功能为了方便用户在地图上选择查询感兴趣的区

10、域,具体实现思路是:用户点击圆形选择工具进行选择,选择完毕鼠标释放时,自动在 Applet 中调用 JavaScript,将选择内容传给 Servlet 执行数据库查询,最后将查询结果显示在 JSP 页面上。 部分代码如下所示:首先实现鼠标监听接口中的方法:public void mouseReleased(MouseEvent e)/定义两个 List 数组存放选择内容java.awt.List jz_lis=new java.awt.List();/该 List 存放京珠路段编号java.awt.List hr_lis=new java.awt.List();/该 List 存放沪蓉路段编

11、号/选择了圆选工具并进行拖拽时执行搜索图元方法if(radius.isSelected()&isDragged)isDragged=false/下面是图元搜索方法,鉴于代码太长这里省略。foundFeature()/Applet 和 Servlet 或 JSP 通信有多种方法,这里使用了一种利用 JavaScript 传参的方 法,利用 JavaScript 的强大功能,有时候会方便我们做一些数据的验证等。JSObject.getWindow (this).eval (javascript:query();用以下代码将 Applet 嵌入在网页 gisPage.jsp 内:下面的 JavaSc

12、ript 函数 query()写在页面内,接收 Applet 中传出来的参数:function query()var s1=document.eMap.jz_lis;var s2=document.eMap.jz_lis;var condition=;/构造查询条件var u=http:/IP:8080/GIS/gisSQL?condition=+condition;最后由 Servlet 负责执行数据库查询,将结果请求转发给 JSP 页面显示(代码省略)。3.2.3 分析图层和鹰眼图功能 分析图层: 分析图层是将数据库中的数据以直方图的形式直观地显示在地图上,对于不同范围的数据以不同的颜色显

13、示,方便用户对各区域的数据量有一个大概的了解。由于要分析的数据来自数据库,所以在 MapXtreme 中添加分析图层需要两个步骤:3首先将数据库的数据 表和地图的 MapInfo 表绑定,将绑定图层添加到 MapJ 的 Layers 集合;第二步进行分析,将 分析图层添加到 Layers 集合,并显示。鹰眼图: 鹰眼图在电子地图中也是必不可少的功能之一,它是为了方便用户浏览地图而设,其作用是显示地图框中所显示的地图在整幅地图中的位置4。当主地图放大到一定比例,视野 变得很小时,对于长距离、大范围的漫游操作是很不方便的,这个时候就要用鹰眼图来控 制主地图的定位。下面简单介绍一下在 Applet

14、中设计鹰眼图的基本思路。首先监听鼠标的单击事件,得到单击的对象,如果单击的是主地图,那么判断主地图的中心或视野是否发 生改变,如果是,则调用相应方法来设置鹰眼图的方框中心和大小;如果单击的是鹰眼图, 判断鼠标是否发生拖拽事件,如果是,则根据用户拖拽的框设置主地图的视野和中心,如 果没有拖拽只是单击,则根据单击的点和当前框大小来设置地图的视野和中心。运行结果如图 3 所示,鹰眼图中绿色的框即为主地图的视野范围。3.2.4 其它功能WebGIS 的其它功能包括多点测距、图层查看、图层控制、图元查找以及制作专题图等 功能制作相对较为简单,由于篇幅有限,不再一一介绍。4 小结图 3 鹰眼图Fig3 E

15、xample of Overview MapMapXtreme Java 是构建基于 Internet 的地理信息系统的有力工具,由于它是纯粹的 Java 类,拥有 Java 语言的优越特性,使得熟悉 Java 的开发人员可以很快地掌握 Web GIS 开发的 方法。本文结合实际课题,介绍了用 MXTJ 开发 WEB GIS 的基本方法,在此基础上,深入 研究 MapXtreme 服务器端的工作原理和掌握编程关键技术后,就可以根据用户的不同需求, 开发出安全、高效、稳健的 WEB GIS 应用系统。参考文献1 李春雷,孙文波We bGIS 在高速公路养护管理中的应用研究J交通标准化,2006,

16、9:91-932 TroyMapXtreme Java V4.8 Developer guid M New York: MapInfo Corporation,20063 wtusmchen 空 间数据库中 两表联合查询 的结果分析 EB/OL /11-7449-7449 .htm,20054 齐锐,屈韶琳,阳琳赟用 MapX 开发地理信息系统M北京:清华大学出版社,2003Design and Implementation of WebGIS System Based onMapXtreme JavaCui HaoWuhan University of Technology,Wuhan(43

17、0063)AbstractThe elementary knowledge and the general method of developing WEB-GIS system was firstly introduced in this paper, and then ,based on an actual running example, one detailed programmingmethoddevelop with JSP、Applet and Servlet was presented. At last, part of system code andinterface was given.Keywords:WebGIS,Applet,MapXtreme for Java

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号