胡 斌,董一兵,2,劉 新,2,王 想,張環曦
(1.河北省地震局,河北石家莊050021;2.中國科學技術大學地球與空間科學學院,安徽合肥230026)
近年來,河北地震測震臺網的規模不斷擴大、臺站密度不斷增加,數字遙測地震臺站的數量已達53個,養護維修任務十分繁重。目前,對臺站信息的管理主要借助于紙質檔案和電子表格。對于臺網維護人員來說,記憶每個臺站的地理位置和行車路線是一個非常繁重的任務,對于未曾去過的臺站,經常需要借助網上免費的電子地圖應用程序,或者汽車上配備的導航儀。本文旨在為測震臺網開發一套專用的在線電子地圖服務系統(楊昆,許泉立,2006;李東平等,2006;史榕等,2008),為管理員用戶提供基于B/S模式的臺站基礎信息管理、臺站電子地圖服務和系統用戶管理等功能,為訪客用戶提供臺站電子地圖服務和個人賬戶管理等功能。
系統經過部署之后,經過授權的用戶就可以隨時隨地通過計算機的Web瀏覽器遠程登錄系統,查詢臺站的具體位置,或者使用路線規劃功能查詢去往目的臺站的最佳路線。這將大大減輕臺網維護人員的工作壓力,使他們可以更加關注維護工作本身,從而提高工作效率和質量。
系統包括兩類不同權限的用戶:管理員和訪客。對于管理員,系統將提供3項基本功能:(1)臺站基礎信息管理:支持對臺站記錄的增加、刪除、修改、查詢、打印等操作;(2)臺站電子地圖應用:支持民用電子地圖的通用功能,如平移、縮放、查詢、路線規劃等;(3)系統用戶管理:支持對用戶記錄的增加、刪除、修改、查詢等操作。對于訪客,系統將提供臺站電子地圖服務和個人賬戶管理兩項基本功能。
系統應滿足下列性能需求:
(1)良好的用戶界面,減輕操作人員的工作負擔。
(2)良好的運行效率,能夠達到提高工作效率的目的。
(3)良好的可擴展性,適應將來功能擴展的需求。
(4)良好的靈活性,適應臺網配置的變化。
(5)良好的安全性,防止對重要內容的非法訪問。
系統在B/S模式下工作,服務器端和客戶端通過計算機網絡進行通信。系統的正常運行對計算機的網絡環境、硬件環境和軟件環境具有一定的要求。
(1)系統運行的網絡環境
服務器端部署在測震臺網中心的一臺Web服務器上,通過網絡調用百度地圖服務器的API來創建電子地圖,并為本地及遠程的客戶端提供服務。客戶端利用Web瀏覽器通過網絡訪問這些服務。系統的拓撲結構如圖1所示。

圖1 系統拓撲結構圖Fig.1 Topological structure of the system
(2)系統運行的硬件環境
客戶機使用普通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.1.1 管理員界面設計
(1)登錄界面:通過用戶名和密碼實現用戶登錄,并判斷用戶的權限。
(2)管理員主界面:提供了“臺站基礎信息管理”、“臺站電子地圖服務”、“系統用戶管理”等功能的鏈接。
(3)臺站管理:包括“臺站列表”、“增加臺站”、“刪除臺站”、“修改臺站”、“查詢臺站”、“臺站排序”和“另存為”等菜單項。
(4)臺站電子地圖:支持民用電子地圖的通用功能,如平移、縮放、路線規劃等。
(5)系統用戶管理:包括“用戶列表”、“增加用戶”、“修改用戶”、“刪除用戶”、“查詢用戶”等菜單項。
2.1.2 訪客界面設計
(1)登錄界面:通過用戶名和密碼實現用戶登錄,并判斷用戶的權限。
(2)訪客主界面:提供了“臺站電子地圖應用”、“個人賬戶管理”等功能的鏈接。
(3)臺站電子地圖:支持民用電子地圖的通用功能,如平移、縮放、查詢等。
(4)個人賬戶管理:包括“修改密碼”、“注銷登錄”等菜單項。
我們選擇MYSQL數據庫作為數據庫管理系統。數據庫中設計了下列表格:①臺站基礎信息表,用于存儲臺站的基礎信息,表結構如表1所示;②系統用戶信息表,用于存儲系統用戶的信息,表結構如表2所示。其中,用戶的權限分兩種:管理員和訪客。
系統在下列軟件環境中進行設計開發:
操作系統: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
采用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 臺站基礎信息表Tab.1 Basic information of stations

表2 系統用戶信息表Tab.2 Information of the system users
對于電子地圖的開發,我們選擇的是百度地圖所提供的 1.3版 Javascript API(百度地圖,2012)。百度地圖API是一套由JavaScript語言編寫的應用程序接口,能夠在網站中構建功能豐富、交互性強的地圖應用程序,它不僅包含構建地圖的基本接口,還提供了如本地搜索、路線規劃等數據服務。目前,應用比較廣泛的民用電子地圖產品主要有百度地圖、谷歌地圖、必應地圖等,這些產品廠商大都提供了免費的在線地圖和離線地圖(維基百科,2011)。我們的選擇主要是基于以下幾種考慮:一是免費。百度地圖API面向公眾服務類網站是免費的,只要接受使用條款的約束(如不得直接存取、使用內部數據,必須保留百度版權信息等),就可以在網站上顯示百度地圖圖片,進行地點搜索、路線查詢和交通流量顯示等操作;二是自動更新。百度地圖維持半年一次批量數據更新和不定期的局部數據更新,免去了定期手動下載安裝離線地圖包的煩惱;三是快捷。百度地圖在官網上提供了詳實的開發指南和示例程序,用戶只需要調用API即可實現豐富的功能。四是可靠,百度地圖API擁有國家測繪局頒發的互聯網地圖運營資質。百度地圖API的這些特點使其非常適合用來搭建小型的專用WebGIS平臺(杜傳明,2011)。
開發路線可分為以下幾個主要階段:
(1)利用Java EE技術搭建軟件的整體框架(James et al,2007)。使用JSP技術設計前臺頁面(管理員主界面如圖1所示),使用Java語言編寫后臺程序,使用DAO方式來處理頁面與數據庫的連接。

圖2 管理員主界面截圖Fig.2 Screenshot of the administrator main interface
(2)在頁面中調用API生成地圖。百度地圖API采用Javascript語言編寫,Javascript是一種廣泛用于前端開發的腳本語言(David,2011)。將以下代碼嵌入頁面并創建一個新的地圖對象map即可生成在線地圖:<script src=“http://api.map.baidu.com/api?v=1.3”type=“text/javascript”></script>。之后,可以使用 map.add-Control()方法為地圖添加控件,以增強地圖的功能。
(3)在地圖上添加臺站應用功能。從數據庫中提取臺站的經緯度信息,并以添加標注的方式添加在地圖上,就完成了臺站的動態加載。用戶可以通過臺站基礎信息管理功能對臺站的相關信息進行修改,系統將自動更新地圖上的臺站參數,如名稱、位置、詳情等。這加強了系統的可維護性。圖2和圖3分別是臺站詳情界面及臺站衛星視圖界面的截圖。

圖3 臺站詳情截圖Fig.3 Screenshot of station details

圖4 臺站衛星視圖截圖Fig.4 Screenshot of station satellite view
(4)對頁面進行修飾和美化,使界面更加友好。
本文使用Java EE技術開發了B/S模式的測震臺網專用電子地圖服務系統。Java EE技術的引入大大增強了系統的可維護性,百度地圖API的應用使得開發過程變得簡單快捷。通過一段時間的應用,該系統的界面比較友好,操作簡單快捷,總體上達到了最初的設計要求。在應用過程中,切實地減輕了臺站維護人員的工作壓力,提高了他們的工作效率,證明系統具有良好的推廣應用前景。由于人力、物力、財力的限制,目前的系統仍存在一些不足,仍有很大的提升空間。而且,百度地圖及其API也在持續地更新和發展,因此,本系統仍有很大的上升空間。將來,我們將在應用過程中,不斷發現和修正系統缺陷,擴展系統功能,優化系統性能,使其適應臺網日益發展的新需要。
百度地圖.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.