胡 斌,董一兵,2,劉 新,2,王 想,張環(huán)曦
(1.河北省地震局,河北石家莊050021;2.中國科學(xué)技術(shù)大學(xué)地球與空間科學(xué)學(xué)院,安徽合肥230026)
近年來,河北地震測震臺網(wǎng)的規(guī)模不斷擴(kuò)大、臺站密度不斷增加,數(shù)字遙測地震臺站的數(shù)量已達(dá)53個,養(yǎng)護(hù)維修任務(wù)十分繁重。目前,對臺站信息的管理主要借助于紙質(zhì)檔案和電子表格。對于臺網(wǎng)維護(hù)人員來說,記憶每個臺站的地理位置和行車路線是一個非常繁重的任務(wù),對于未曾去過的臺站,經(jīng)常需要借助網(wǎng)上免費的電子地圖應(yīng)用程序,或者汽車上配備的導(dǎo)航儀。本文旨在為測震臺網(wǎng)開發(fā)一套專用的在線電子地圖服務(wù)系統(tǒng)(楊昆,許泉立,2006;李東平等,2006;史榕等,2008),為管理員用戶提供基于B/S模式的臺站基礎(chǔ)信息管理、臺站電子地圖服務(wù)和系統(tǒng)用戶管理等功能,為訪客用戶提供臺站電子地圖服務(wù)和個人賬戶管理等功能。
系統(tǒng)經(jīng)過部署之后,經(jīng)過授權(quán)的用戶就可以隨時隨地通過計算機(jī)的Web瀏覽器遠(yuǎn)程登錄系統(tǒng),查詢臺站的具體位置,或者使用路線規(guī)劃功能查詢?nèi)ネ康呐_站的最佳路線。這將大大減輕臺網(wǎng)維護(hù)人員的工作壓力,使他們可以更加關(guān)注維護(hù)工作本身,從而提高工作效率和質(zhì)量。
系統(tǒng)包括兩類不同權(quán)限的用戶:管理員和訪客。對于管理員,系統(tǒng)將提供3項基本功能:(1)臺站基礎(chǔ)信息管理:支持對臺站記錄的增加、刪除、修改、查詢、打印等操作;(2)臺站電子地圖應(yīng)用:支持民用電子地圖的通用功能,如平移、縮放、查詢、路線規(guī)劃等;(3)系統(tǒng)用戶管理:支持對用戶記錄的增加、刪除、修改、查詢等操作。對于訪客,系統(tǒng)將提供臺站電子地圖服務(wù)和個人賬戶管理兩項基本功能。
系統(tǒng)應(yīng)滿足下列性能需求:
(1)良好的用戶界面,減輕操作人員的工作負(fù)擔(dān)。
(2)良好的運行效率,能夠達(dá)到提高工作效率的目的。
(3)良好的可擴(kuò)展性,適應(yīng)將來功能擴(kuò)展的需求。
(4)良好的靈活性,適應(yīng)臺網(wǎng)配置的變化。
(5)良好的安全性,防止對重要內(nèi)容的非法訪問。
系統(tǒng)在B/S模式下工作,服務(wù)器端和客戶端通過計算機(jī)網(wǎng)絡(luò)進(jìn)行通信。系統(tǒng)的正常運行對計算機(jī)的網(wǎng)絡(luò)環(huán)境、硬件環(huán)境和軟件環(huán)境具有一定的要求。
(1)系統(tǒng)運行的網(wǎng)絡(luò)環(huán)境
服務(wù)器端部署在測震臺網(wǎng)中心的一臺Web服務(wù)器上,通過網(wǎng)絡(luò)調(diào)用百度地圖服務(wù)器的API來創(chuàng)建電子地圖,并為本地及遠(yuǎn)程的客戶端提供服務(wù)。客戶端利用Web瀏覽器通過網(wǎng)絡(luò)訪問這些服務(wù)。系統(tǒng)的拓?fù)浣Y(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)拓?fù)浣Y(jié)構(gòu)圖Fig.1 Topological structure of the system
(2)系統(tǒng)運行的硬件環(huán)境
客戶機(jī)使用普通PC即可,對于服務(wù)器有如下要求:
CPU:P4 2.0 GHz或以上兼容型號;
內(nèi)存:1 GB或以上;
網(wǎng)卡:千兆網(wǎng)卡;
硬盤:80 GB.
(3)系統(tǒng)運行的軟件環(huán)境
服務(wù)器端需要搭建下列軟件環(huán)境:
操作系統(tǒng):Windows XP
虛擬機(jī):jre 1.6
數(shù)據(jù)庫:MySQL 5.1
Web服務(wù)器:Tomcat 6.0.35
瀏覽器:IE 6.0或以上兼容類型
根據(jù)用戶的不同權(quán)限,我們?yōu)橄到y(tǒng)設(shè)計了管理員界面和訪客界面,以提供不同內(nèi)容的服務(wù)。管理員能夠使用的服務(wù)包括:管理臺站基礎(chǔ)信息、使用臺站電子地圖和管理系統(tǒng)用戶。訪客能夠使用的服務(wù)包括:使用臺站電子地圖和管理個人賬戶。
2.1.1 管理員界面設(shè)計
(1)登錄界面:通過用戶名和密碼實現(xiàn)用戶登錄,并判斷用戶的權(quán)限。
(2)管理員主界面:提供了“臺站基礎(chǔ)信息管理”、“臺站電子地圖服務(wù)”、“系統(tǒng)用戶管理”等功能的鏈接。
(3)臺站管理:包括“臺站列表”、“增加臺站”、“刪除臺站”、“修改臺站”、“查詢臺站”、“臺站排序”和“另存為”等菜單項。
(4)臺站電子地圖:支持民用電子地圖的通用功能,如平移、縮放、路線規(guī)劃等。
(5)系統(tǒng)用戶管理:包括“用戶列表”、“增加用戶”、“修改用戶”、“刪除用戶”、“查詢用戶”等菜單項。
2.1.2 訪客界面設(shè)計
(1)登錄界面:通過用戶名和密碼實現(xiàn)用戶登錄,并判斷用戶的權(quán)限。
(2)訪客主界面:提供了“臺站電子地圖應(yīng)用”、“個人賬戶管理”等功能的鏈接。
(3)臺站電子地圖:支持民用電子地圖的通用功能,如平移、縮放、查詢等。
(4)個人賬戶管理:包括“修改密碼”、“注銷登錄”等菜單項。
我們選擇MYSQL數(shù)據(jù)庫作為數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)庫中設(shè)計了下列表格:①臺站基礎(chǔ)信息表,用于存儲臺站的基礎(chǔ)信息,表結(jié)構(gòu)如表1所示;②系統(tǒng)用戶信息表,用于存儲系統(tǒng)用戶的信息,表結(jié)構(gòu)如表2所示。其中,用戶的權(quán)限分兩種:管理員和訪客。
系統(tǒng)在下列軟件環(huán)境中進(jìn)行設(shè)計開發(fā):
操作系統(tǒng):Windows XP SP3
JDK:SDK 1.6.0
IDE:Eclipse 3.3.5+MyEclipse 6.0.1
Web服務(wù)器:Tomcat 6.0.35
數(shù)據(jù)庫:MySQL 5.1
采用Java EE的MVC框架予以實現(xiàn)。MVC是3個單詞的縮寫,分別為:模型(Model)、視圖(View)和控制(Controller)(MSDN,2012)。MVC模式的目的就是實現(xiàn)Web系統(tǒng)的職能分工。Model層實現(xiàn)系統(tǒng)中的業(yè)務(wù)邏輯,通??梢杂肑avaBean或EJB來實現(xiàn)。View層用于與用戶的交互,通常用JSP來實現(xiàn)。Controller層是Model與View之間溝通的橋梁,它可以分派用戶的請求并選擇恰當(dāng)?shù)囊晥D以用于顯示,同時它也可以解釋用戶的輸入并將它們映射為模型層可執(zhí)行的操作。在本系統(tǒng)中,視圖層采用JSP實現(xiàn),模型層采用JavaBean實現(xiàn)(Eric,2010)。
表1 臺站基礎(chǔ)信息表Tab.1 Basic information of stations
表2 系統(tǒng)用戶信息表Tab.2 Information of the system users
對于電子地圖的開發(fā),我們選擇的是百度地圖所提供的 1.3版 Javascript API(百度地圖,2012)。百度地圖API是一套由JavaScript語言編寫的應(yīng)用程序接口,能夠在網(wǎng)站中構(gòu)建功能豐富、交互性強(qiáng)的地圖應(yīng)用程序,它不僅包含構(gòu)建地圖的基本接口,還提供了如本地搜索、路線規(guī)劃等數(shù)據(jù)服務(wù)。目前,應(yīng)用比較廣泛的民用電子地圖產(chǎn)品主要有百度地圖、谷歌地圖、必應(yīng)地圖等,這些產(chǎn)品廠商大都提供了免費的在線地圖和離線地圖(維基百科,2011)。我們的選擇主要是基于以下幾種考慮:一是免費。百度地圖API面向公眾服務(wù)類網(wǎng)站是免費的,只要接受使用條款的約束(如不得直接存取、使用內(nèi)部數(shù)據(jù),必須保留百度版權(quán)信息等),就可以在網(wǎng)站上顯示百度地圖圖片,進(jìn)行地點搜索、路線查詢和交通流量顯示等操作;二是自動更新。百度地圖維持半年一次批量數(shù)據(jù)更新和不定期的局部數(shù)據(jù)更新,免去了定期手動下載安裝離線地圖包的煩惱;三是快捷。百度地圖在官網(wǎng)上提供了詳實的開發(fā)指南和示例程序,用戶只需要調(diào)用API即可實現(xiàn)豐富的功能。四是可靠,百度地圖API擁有國家測繪局頒發(fā)的互聯(lián)網(wǎng)地圖運營資質(zhì)。百度地圖API的這些特點使其非常適合用來搭建小型的專用WebGIS平臺(杜傳明,2011)。
開發(fā)路線可分為以下幾個主要階段:
(1)利用Java EE技術(shù)搭建軟件的整體框架(James et al,2007)。使用JSP技術(shù)設(shè)計前臺頁面(管理員主界面如圖1所示),使用Java語言編寫后臺程序,使用DAO方式來處理頁面與數(shù)據(jù)庫的連接。
圖2 管理員主界面截圖Fig.2 Screenshot of the administrator main interface
(2)在頁面中調(diào)用API生成地圖。百度地圖API采用Javascript語言編寫,Javascript是一種廣泛用于前端開發(fā)的腳本語言(David,2011)。將以下代碼嵌入頁面并創(chuàng)建一個新的地圖對象map即可生成在線地圖:<script src=“http://api.map.baidu.com/api?v=1.3”type=“text/javascript”></script>。之后,可以使用 map.add-Control()方法為地圖添加控件,以增強(qiáng)地圖的功能。
(3)在地圖上添加臺站應(yīng)用功能。從數(shù)據(jù)庫中提取臺站的經(jīng)緯度信息,并以添加標(biāo)注的方式添加在地圖上,就完成了臺站的動態(tài)加載。用戶可以通過臺站基礎(chǔ)信息管理功能對臺站的相關(guān)信息進(jìn)行修改,系統(tǒng)將自動更新地圖上的臺站參數(shù),如名稱、位置、詳情等。這加強(qiáng)了系統(tǒng)的可維護(hù)性。圖2和圖3分別是臺站詳情界面及臺站衛(wèi)星視圖界面的截圖。
圖3 臺站詳情截圖Fig.3 Screenshot of station details
圖4 臺站衛(wèi)星視圖截圖Fig.4 Screenshot of station satellite view
(4)對頁面進(jìn)行修飾和美化,使界面更加友好。
本文使用Java EE技術(shù)開發(fā)了B/S模式的測震臺網(wǎng)專用電子地圖服務(wù)系統(tǒng)。Java EE技術(shù)的引入大大增強(qiáng)了系統(tǒng)的可維護(hù)性,百度地圖API的應(yīng)用使得開發(fā)過程變得簡單快捷。通過一段時間的應(yīng)用,該系統(tǒng)的界面比較友好,操作簡單快捷,總體上達(dá)到了最初的設(shè)計要求。在應(yīng)用過程中,切實地減輕了臺站維護(hù)人員的工作壓力,提高了他們的工作效率,證明系統(tǒng)具有良好的推廣應(yīng)用前景。由于人力、物力、財力的限制,目前的系統(tǒng)仍存在一些不足,仍有很大的提升空間。而且,百度地圖及其API也在持續(xù)地更新和發(fā)展,因此,本系統(tǒng)仍有很大的上升空間。將來,我們將在應(yīng)用過程中,不斷發(fā)現(xiàn)和修正系統(tǒng)缺陷,擴(kuò)展系統(tǒng)功能,優(yōu)化系統(tǒng)性能,使其適應(yīng)臺網(wǎng)日益發(fā)展的新需要。
百度地圖.JavaScript API v1.3[EB/OL].(2012-02-29)[2013-07-11].http://developer.baidu.com/map/jshome.htm.
杜傳明.2011.百度地圖API在小型地理信息系統(tǒng)中的應(yīng)用[J].測繪與空間地理信息,34(2):152-156.
李東平,趙錦慧,沈曉健,等.2006.基于G 1 S技術(shù)的浙江省地震應(yīng)急指揮演練系統(tǒng)[J].地震研究,29(3):290-293.
史榕,許惠平,陳華根.2008.三維虛擬WebGIS在防震減災(zāi)中的應(yīng)用研究[J].地震研究,31(2):193-196.
維基百科.電子地圖服務(wù)[EB/OL].(2011-11-07)[2013-07-11].http://zh.wikipedia.org/wiki/電子地圖服務(wù).
楊昆,許泉立.2006.基于ArcIMS的城市地震地理信息系統(tǒng)的設(shè)計與實現(xiàn)[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.