基金项目:河北省地震科技星火计划项目——河北震后分析决策辅助系统预研究(201310)和测震台网青年骨干培养专项——基于Web GIS的河北测震台站管理系统研制C20140303)共同资助.
(1.河北省地震局,河北 石家庄 050021; 2.中国科学技术大学 地球与空间科学学院,安徽 合肥 230026)
(1. Earthquake Administration of Hebei Province,Shijiazhuang 050021,Hebei,China)(1.School of Earth and Space Science,University of Science and Technology of China,Hefei 230026,Anhui,China)
备注
基金项目:河北省地震科技星火计划项目——河北震后分析决策辅助系统预研究(201310)和测震台网青年骨干培养专项——基于Web GIS的河北测震台站管理系统研制C20140303)共同资助.
采用百度地图提供的API,利用Java EE的MVC框架技术,为河北测震台网设计、开发了一套在线电子地图服务系统。该系统能够为管理员用户提供B/S模式的台站基础信息管理、台站电子地图服务和系统用户管理等功能。在河北测震台网投入运行后,显著提高了台站维护人员的工作效率,具有良好的推广应用前景。
Basing on the API provided by Baidu Map,a set of online E-map service system was designed and developed for Hebei Seismic Network by use of Java EE/MVC framework. The system could provide functions for the administrators,such as basic information management of the stations in B/S mode,E-map service of the stations and system user management etc.. After the system applied to the Hebei Seismic Network,it greatly improved the efficiency of station maintenance personal,and had a good application prospects.
引言
近年来,河北地震测震台网的规模不断扩大、台站密度不断增加,数字遥测地震台站的数量已达53个,养护维修任务十分繁重。目前,对台站信息的管理主要借助于纸质档案和电子表格。对于台网维护人员来说,记忆每个台站的地理位置和行车路线是一个非常繁重的任务,对于未曾去过的台站,经常需要借助网上免费的电子地图应用程序,或者汽车上配备的导航仪。本文旨在为测震台网开发一套专用的在线电子地图服务系统(杨昆,许泉立,2006; 李东平等,2006; 史榕等,2008),为管理员用户提供基于B/S模式的台站基础信息管理、台站电子地图服务和系统用户管理等功能,为访客用户提供台站电子地图服务和个人账户管理等功能。
系统经过部署之后,经过授权的用户就可以随时随地通过计算机的Web浏览器远程登录系统,查询台站的具体位置,或者使用路线规划功能查询去往目的台站的最佳路线。这将大大减轻台网维护人员的工作压力,使他们可以更加关注维护工作本身,从而提高工作效率和质量。
1 需求分析
1.1 功能规格系统包括两类不同权限的用户:管理员和访客。对于管理员,系统将提供3项基本功能:(1)台站基础信息管理:支持对台站记录的增加、删除、修改、查询、打印等操作;(2)台站电子地图应用:支持民用电子地图的通用功能,如平移、缩放、查询、路线规划等;(3)系统用户管理:支持对用户记录的增加、删除、修改、查询等操作。对于访客,系统将提供台站电子地图服务和个人账户管理两项基本功能。
1.2 性能需求系统应满足下列性能需求:
(1)良好的用户界面,减轻操作人员的工作负担。
(2)良好的运行效率,能够达到提高工作效率的目的。
(3)良好的可扩展性,适应将来功能扩展的需求。
(4)良好的灵活性,适应台网配置的变化。
(5)良好的安全性,防止对重要内容的非法访问。
1.3 应用环境系统在B/S模式下工作,服务器端和客户端通过计算机网络进行通信。系统的正常运行对计算机的网络环境、硬件环境和软件环境具有一定的要求。
(1)系统运行的网络环境
服务器端部署在测震台网中心的一台Web服务器上,通过网络调用百度地图服务器的API来创建电子地图,并为本地及远程的客户端提供服务。客户端利用Web浏览器通过网络访问这些服务。 系统的拓扑结构如图1所示。
客户机使用普通PC即可,对于服务器有如下要求:
CPU:P4 2.0 GHz或以上兼容型号;
内存:1 GB或以上;
网卡:千兆网卡;
硬盘:80 GB.
(3)系统运行的软件环境
服务器端需要搭建下列软件环境:
操作系统:Windows XP
虚拟机:jre 1.6
数据库:MySQL 5.1
Web服务器:Tomcat 6.0.35
浏览器:IE 6.0或以上兼容类型
2 系统设计
3 系统实现
3.1 开发环境系统在下列软件环境中进行设计开发:
操作系统:Windows XP SP3
JDK:SDK 1.6.0
IDE:Eclipse 3.3.5+MyEclipse 6.0.1
Web服务器:Tomcat 6.0.35
数据库:MySQL 5.1
3.2 开发技术采用Java EE的MVC框架予以实现。MVC是3个单词的缩写,分别为:模型(Model)、视图(View)和控制(Controller)(MSDN,2012)。 MVC模式的目的就是实现Web系统的职能分工。 Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。View层用于与用户的交互,通常用JSP来实现。 Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。在本系统中,视图层采用JSP实现,模型层采用JavaBean实现(Eric,2010)。
对于电子地图的开发,我们选择的是百度地图所提供的1.3版Javascript API(百度地图,2012)。百度地图API是一套由JavaScript语言编写的应用程序接口,能够在网站中构建功能丰富、交互性强的地图应用程序,它不仅包含构建地图的基本接口,还提供了如本地搜索、路线规划等数据服务。目前,应用比较广泛的民用电子地图产品主要有百度地图、谷歌地图、必应地图等,这些产品厂商大都提供了免费的在线地图和离线地图(维基百科,2011)。我们的选择主要是基于以下几种考虑:一是免费。百度地图API面向公众服务类网站是免费的,只要接受使用条款的约束(如不得直接存取、使用内部数据,必须保留百度版权信息等),就可以在网站上显示百度地图图片,进行地点搜索、路线查询和交通流量显示等操作; 二是自动更新。百度地图维持半年一次批量数据更新和不定期的局部数据更新,免去了定期手动下载安装离线地图包的烦恼; 三是快捷。百度地图在官网上提供了详实的开发指南和示例程序,用户只需要调用API即可实现丰富的功能。四是可靠,百度地图API拥有国家测绘局颁发的互联网地图运营资质。百度地图API的这些特点使其非常适合用来搭建小型的专用WebGIS平台(杜传明,2011)。3.3 开发路线与典型界面开发路线可分为以下几个主要阶段:
(1)利用Java EE技术搭建软件的整体框架(James et al,2007)。使用JSP技术设计前台页面(管理员主界面如图1所示),使用Java语言编写后台程序,使用DAO方式来处理页面与数据库的连接。
(3)在地图上添加台站应用功能。从数据库中提取台站的经纬度信息,并以添加标注的方式添加在地图上,就完成了台站的动态加载。用户可以通过台站基础信息管理功能对台站的相关信息进行修改,系统将自动更新地图上的台站参数,如名称、位置、详情等。这加强了系统的可维护性。图2和图3分别是台站详情界面及台站卫星视图界面的截图。
4 结语
本文使用Java EE技术开发了B/S模式的测震台网专用电子地图服务系统。Java EE技术的引入大大增强了系统的可维护性,百度地图API的应用使得开发过程变得简单快捷。通过一段时间的应用,该系统的界面比较友好,操作简单快捷,总体上达到了最初的设计要求。在应用过程中,切实地减轻了台站维护人员的工作压力,提高了他们的工作效率,证明系统具有良好的推广应用前景。由于人力、物力、财力的限制,目前的系统仍存在一些不足,仍有很大的提升空间。而且,百度地图及其API也在持续地更新和发展,因此,本系统仍有很大的上升空间。将来,我们将在应用过程中,不断发现和修正系统缺陷,扩展系统功能,优化系统性能,使其适应台网日益发展的新需要。
2.1 界面设计根据用户的不同权限,我们为系统设计了管理员界面和访客界面,以提供不同内容的服务。管理员能够使用的服务包括:管理台站基础信息、使用台站电子地图和管理系统用户。访客能够使用的服务包括:使用台站电子地图和管理个人账户。
2.1.1 管理员界面设计(1)登录界面:通过用户名和密码实现用户登录,并判断用户的权限。
(2)管理员主界面:提供了“台站基础信息管理”、“台站电子地图服务”、“系统用户管理”等功能的链接。
(3)台站管理:包括 “台站列表”、“增加台站”、“删除台站”、“修改台站”、“查询台站”、 “台站排序”和“另存为”等菜单项。
(4)台站电子地图:支持民用电子地图的通用功能,如平移、缩放、路线规划等。
(5)系统用户管理:包括“用户列表”、“增加用户”、“修改用户”、“删除用户” 、“查询用户”等菜单项。
2.1.2 访客界面设计(1)登录界面:通过用户名和密码实现用户登录,并判断用户的权限。
(2)访客主界面:提供了 “台站电子地图应用”、“个人账户管理”等功能的链接。
(3)台站电子地图:支持民用电子地图的通用功能,如平移、缩放、查询等。
(4)个人账户管理:包括 “修改密码”、“注销登录”等菜单项。
- 百度地图.JavaScript API v1.3[EB/OL].(2012-02-29)[2013-07-11].http://developer.baidu.com/map/jshome.htm.
- 杜传明.2011.百度地图API在小型地理信息系统中的应用[J].测绘与空间地理信息,34(2):152-156.
- 李东平,赵锦慧,沈晓健,等.2006.基于G 1 S技术的浙江省地震应急指挥演练系统[J].地震研究,29(3):290-293.
- 史榕,许惠平,陈华根.2008.三维虚拟WebGIS在防震减灾中的应用研究[J].地震研究,31(2):193-196.
- 维基百科.电子地图服务[EB/OL].(2011-11-07)[2013-07-11].http://zh.wikipedia.org/wiki/电子地图服务.
- 杨昆,许泉立.2006.基于ArcIMS的城市地震地理信息系统的设计与实现[J].地震研究,29(1):72-75.
- David F.. 2011.JavaScript: The Definitive Guide[M]. California: O'Reilly Media,Inc.
- Eric J.,Debbie C.,Ian E.,et al.2010.The Java EE 6 Tutorial: v.1: Basic Concepts[M]. New Jersey:Prentice Hall.
- James L.,Weaver,Kevin Mukhar,et al.2007.Beginning J2EE 1[M].From Movice to Professional Press.
- MSDN.ASP.NET MVC.[EB/OL].(2012-03-13)[2013-07-11].http://msdn.microsoft.com/zh-tw/library/dd381412(v=vs.108).aspx.