标题 | 基于WebGIS的物流车辆监控系统的设计 |
范文 | 陈立干 吴绍斌 姜 丹 高 利 摘要:针对用户远程查询以及信息共享的需求,设计开发了一种基于WebGIS的物流车辆监控系统。分析了物流车辆监控系统的工作原理和功能,采用模块化的设计思路进行系统总体结构设计,详细研究了其关键组成部分的设计与实现。利用JAVA开发语言和MapXtreme平台开发了基于B/S结构的物流车辆监控系统。应用表明,该系统能够对物流车辆进行实时监控,使用户可以直接在Internet环境下完成物流车辆信息的查询。 关键词:车辆监控;WebGIS;B/S结构;MapXtreme 中图分类号:TP274 文献标识码:A Abstract: According to the demand of remote inquiries and information sharing, a logistics vehicle monitoring system was designed. Based on the analyse of the principle and function of vehicle monitoring system, the structure of the system was designed by means of modular programming method, and key modules of the system were discussed in detail. The logistics vehicle monitoring system with Browser/Server architecture was developed by using JAVA programming language and MapXtreme GIS platform. The application of the system indicates that the system can realize real-time monitoring of vehicles and users can get the vehicle information under the internet environment by using the system. Key words: vehicle monitoring; WebGIS; B/S; MapXtreme 0引言 物流车辆监控系统综合运用GPS、GIS以及无线通讯技术,能够对物流车辆进行远程实时监控。传统的物流车辆监控系统普遍采用C/S模式,要求客户端安装专用软件和电子地图,导致系统扩展和维护困难,且难以保障电子地图的安全性。本文作者设计开发了一种基于WebGIS的物流车辆监控系统。系统采用B/S模式,在Web上实现物流车辆信息的发布。客户端无需安装专用软件和电子地图,只需通过互联网登录系统,就可以对物流车辆信息进行实时查询并发送指挥、调度等信息。该系统不仅具有访问范围广、操作简单以及客户端成本低、免维护等优点,还可以最大限度地实现信息共享,有效地弥补了传统物流车辆监控系统的不足。 1系统功能设计 物流车辆监控系统的功能应满足各类用户的需求。企业用户则希望通过车辆监控系统,优化车辆的管理调度。货物托运者要求利用车辆监控系统,掌握车辆承运货物状态。根据各类用户的需求,基于WebGIS的物流车辆监控系统的主要功能包括: (1)用户信息管理:核对用户名和密码,提供权限认证,允许不同等级的用户通过互联网登陆系统。 (2)物流车辆状态监控:对车辆的位置、速度等进行实时监控;提供车辆防劫、防盗、超速、越界等报警功能;用户可对车辆进行远程控制和指挥。 (3)位置信息查询:实时接受、处理并保存车辆的位置信息,为用户提供车辆位置信息的在线查询功能,且支持模糊查询。 (4)地图数据管理:在Web上实现地图加载、地图查询、图层管理以及其它常用地图操作,如地图缩放、测距、鹰眼、点选择、矩形选择等。 (5)历史轨迹回放:存储车辆的运行轨迹,并可以根据用户指定的回放速度进行历史轨迹回放。 (6)车辆漫游:受控车辆可以在各个监控中心之间漫游。如果需要将车辆漫游到另一个中心,车主只需申请漫游即可;申请漫游时可以预设漫游时间,漫游时间一到,系统将自动撤销漫游。 (7)系统维护:提供用户信息、车辆信息、地图信息等的备份和日志管理功能。 2系统总体结构设计 车辆监控系统主要包括车载终端和监控中心,两者之间通过无线通讯方式传递信息。为了在Web上实现系统的功能,在监控中心内部安装了WebGIS服务器和Web服务器,从而实现传统物流车辆监控系统的功能扩展。 2.1系统模块化结构设计 为了保证系统升级、维护的效率,采用模块化的设计思路进行物流车辆监控系统的设计。系统主要由以下模块组成。图1为系统结构图。 (1)定位模块。作为系统定位模块的车载终端主要用于接收GPS定位信息,并通过无线通讯方式向监控中心发送。同时接受并处理从监控中心传来的指挥、调度等信息。 (2)通讯模块。通讯模块包括通讯服务器以及通讯接口。它的主要功能是实现监控中心与车载终端的双向信息传递。 (3)存储模块。存储模块中含有数据库服务器。用于创建数据库,实现信息存储以及显示模块和定位模块之间的信息中转功能。 (4)显示模块。显示模块包括Web服务器、WebGIS服务器。主要用于开发WebGIS,将定位信息显示在电子地图上,并以Web网页的形式返回给用户,是系统的重要组成部分。 2.2系统工作原理 物流车辆监控系统的数据流主要分为两部分:监控中心与车载终端之间,监控中心与浏览器之间(如图1所示)。车载终端到监控中心的数据流主要是受控车辆的定位信息。车载终端接收GPS卫星信号,计算出受控车辆的定位信息,通过无线通讯网络将定位信息发往监控中心的通信服务器,通信服务器对定位数据进行解析后,将其存入后台的数据库服务器中。监控中心到车载终端的数据流是监控中心发给受控车辆的指挥、调度等信息。监控中心的通讯服务器负责将该信息经由无线通讯网络发送给相应的受控车辆。 浏览器到监控中心的数据流是用户的请求信息,这可能是普通的Web服务请求,也可能是Web地图服务请求。用户还可以通过浏览器向受控车辆发送指挥、调度等信息。该信息通过监控中心的通信服务器转发往车载终端。监控中心到浏览器的数据流是服务器对用户请求的响应信息,Web服务器将各种响应信息(如返回的地图数据以及车辆的定位信息等)封装在Web页面中返回给用户。 3系统关键技术及其实现 由于显示定位信息和行驶轨迹的电子地图通常是矢量格式的,普通的浏览器大都无法识别[1]。因此,需要利用WebGIS服务器开发出WebGIS,使返回到客户端的电子地图是栅格格式的图像,才能够在Web上实现车辆位置、轨迹等信息的发布。由此可见,WebGIS的开发是实现系统功能的关键。 3.1WebGIS开发语言及相关软件的选择 为了使基于WebGIS的物流车辆监控系统具有跨平台性、动态性、安全性以及操作简单等特点,以Java作为开发语言[2],选择MapInfo公司的MapXtreme for Java软件作为WebGIS服务器,它是100%的Java产品[3],该软件提供的Java类可直接用来实现各种地图操作,从而简化了编程过程,缩短了开发周期。而且,MapXtreme for Java软件集成了Web服务器——Tomcat。Tomcat是Servlet/JSP容器,具有配置方便、功能强大、开放性等特点,可用于处理HTML页面、Servlet和JSP,以实现系统的开发要求。 3.2WebGIS的实现 WebGIS的实现过程就是Web应用程序的发布过程。Web应用程序的创建采用MVC设计模式。MVC强制性地使应用程序的输入、处理和输出分开,体现了软件设计的模块化思想。MVC具备三个核心部件:控制器、模型和视图,分别对应于程序的输入、处理和输出。WebGIS的软件结构如图2所示。 (1)控制器(Controller)—输入。控制器的作用是接受用户的请求(如用户信息修改、地图操作以及对车辆的指挥调度命令等),将模型与视图匹配在一起,共同完成用户的请求。控制器是通过Sevlet程序实现的。Servlet程序在本系统中有两个作用:一是识别WebGIS地图集的各种状态(例如,地图中心位置、地图视野等)。二是接受并转发客户请求。Servlet是一个特殊的Java类,在这个类中至少要实现doGet或者doPost函数[4],将接受到的用户请求转发给JavaBean。Servlet程序是运用MapXtreme for Java中提供的类编写的。例如,使用语句myMap=new MapJ()创建Web地图对象。 (2)模型(Model)—处理。模型实现与数据库通信,存储实际的业务逻辑和状态的功能。即模型知道用什么规则来得到和更新状态,并通知视图改变。模型是通过JavaBean程序实现的。JavaBean是具体的和公共的且具有无参数的构造器的Java类。在本系统中,JavaBean程序用于对用户的请求进行处理。例如,当用户通过JSP程序显示的网页链接按钮提交定位请求时,Servlet接受用户的定位请求,并根据请求的类型调用相应的JavaBean,将定位车辆的相关信息(如定位时间)写入定位数据库。经过定位后台处理,数据库获得定位结果。Servlet再次调用相应的JavaBean,从定位数据库中提取定位结果,并显示于电子地图上。读写数据库的操作由JavaBean调用JDBC驱动软件提供的Java类实现。 (3)视图(View)—输出。视图向用户提供可视化的操作界面,主要包括在Web上显示车辆位置、轨迹以及用户进行地图操作的结果,是通过JSP程序实现的。JSP是在普通浏览器可以识别的HTML语言中嵌入了Java代码的一个脚本,其中Java代码用来生成在Web上点击的链接按钮[5],发送用户请求,并显示点击链接的结果。例如setZoom()、setCenter()、showHideOverview()、refreshOverviewMap()、CompositeRender(),分别用来生成设置视野、设置中心、显示隐藏鹰眼、刷新鹰眼以及显示轨迹按钮。点击某一按钮后,控制器Servlet调用相应的JavaBean进行处理,用户便可以通过JSP程序的运行在Web上看到处理后的结果。 4结论 本文作者开发的基于WebGIS的物流车辆监控系统以MapXtreme for Java作为WebGIS服务器,采用MVC模式,集成JSP技术、servlet技术、JavaBean技术,结合GPS、GIS技术实现车辆监控,并在网络上实现车辆信息发布。实践证明,它实现了预期的功能要求。对于开发者来说,这种方法开发周期相对较短、成本较低;对于系统本身来说,可以实现系统跨平台性、安全性且易于维护;对于用户来说,可以实现更广泛的访问范围、更简单的操作并得到更友好的、动态的页面。 参考文献: [1] 许向锋. 用Java实现面向对象的WebGIS[J]. 计算机应用研究,2001(10):98. [2] 韩海洋,龚健雅,袁相儒. Internet环境下用Java/JDBC实现地理信息的互操作与分布式管理及处理[J]. 测绘学报,1999(2):48. [3] Mapinfo公司. MapXtreme Java Edition 4.8开发者指南[EB/OL]. (2009-01-15)[2009-02-25]. http://reference.mapinfo.com/software/mapxtreme_java/english/4_8_1/dev_guide/MapXtremeJava48_DG_CHS.pdf. [4] Bryan Basham, Kathy Sierra, Bert Bates. Head First(Servlet & JSP TM)[M]. 北京:中国电力出版社,2007:15-99. [5] Patrick Niemeyer, Jonathan Knudsen. Learning Java[M]. 北京:中国电力出版社,2001:4-125. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。