周蓉 徐海東 馬強(qiáng) 李光正 王鴻鵬
摘要
本文通過(guò)介紹Google Maps的功能及使用方法,以威海港及周邊港口為例,設(shè)計(jì)基于Google Maps的溢油點(diǎn)與應(yīng)急設(shè)備間的行程導(dǎo)航,實(shí)時(shí)顯示溢油點(diǎn)與周圍調(diào)集的應(yīng)急設(shè)備行程狀況,為及時(shí)調(diào)集溢油應(yīng)急設(shè)備提供導(dǎo)航,并進(jìn)行應(yīng)急設(shè)備達(dá)到時(shí)間的估算,最終為溢油應(yīng)急處理決策的制定提供及時(shí)有效的信息。
【關(guān)鍵詞】溢油 Google Maps 導(dǎo)航
1 引言
隨著航運(yùn)事業(yè)的蓬勃發(fā)展,中國(guó)近海溢油事故在近幾十年中不斷發(fā)生,在發(fā)生事故以后,如何以最大限度減少海上溢油造成的污染,保護(hù)海洋生態(tài)環(huán)境,已經(jīng)成為日益迫切的社會(huì)問(wèn)題。隨著國(guó)內(nèi)外科研院所及各港口對(duì)溢油事故及應(yīng)急反應(yīng)的不斷重視,溢油相關(guān)軟件的設(shè)計(jì)和開(kāi)發(fā)不斷成熟,目前已經(jīng)研究成型的絕大部分溢油軟件系統(tǒng)主要以模擬溢油行為、歸宿為主,技術(shù)較為成熟,模擬結(jié)果的精度和可信度較高,但針對(duì)溢油應(yīng)急設(shè)備的配優(yōu)化、溢油應(yīng)急處理所需設(shè)備調(diào)集預(yù)測(cè)和行程導(dǎo)航設(shè)計(jì)等還缺少實(shí)質(zhì)性研究。
本文研究立足于威海轄區(qū)的海上溢油和岸線保護(hù),其中包括威海港、石島港、煙臺(tái)港等周邊港口,設(shè)計(jì)基于Google Maps實(shí)時(shí)顯示溢油點(diǎn)與周圍調(diào)集的應(yīng)急設(shè)備行程狀況,為及時(shí)調(diào)集溢油應(yīng)急設(shè)備提供導(dǎo)航,并進(jìn)行應(yīng)急設(shè)備到達(dá)時(shí)間及距離的估算,為溢油應(yīng)急處理決策的制定提供及時(shí)有效的信息。
2 Google Maps簡(jiǎn)介
Google Maps是Google公司提供的電子地圖服務(wù),該地圖服務(wù)根據(jù)用戶需求可提供三種不同形式的地圖:矢量地圖、衛(wèi)星照片和地形視圖。通過(guò)對(duì)地圖進(jìn)行編輯,可以進(jìn)行商戶查找、地圖查看、公交查詢和駕車導(dǎo)航等,從而幫助開(kāi)發(fā)者打造個(gè)性化的地圖應(yīng)用站點(diǎn)。圖1為Google Maps矢量地圖和衛(wèi)星地圖地圖示例。
Google Maps為代表的地圖服務(wù)的推出開(kāi)創(chuàng)了全球地理信息服務(wù)新的開(kāi)端,其具有操作簡(jiǎn)單、地圖預(yù)生成、分析功能強(qiáng)大、開(kāi)發(fā)成本低、數(shù)據(jù)及時(shí)更新等特點(diǎn)。2005年Google對(duì)外提供了便于二次開(kāi)發(fā)的開(kāi)放式地圖服務(wù)應(yīng)用程序接口(Google Maps API),使Google Maps的地圖服務(wù)更好的服務(wù)于不同領(lǐng)域用戶,使用過(guò)程中開(kāi)發(fā)者通過(guò)在Google地圖服務(wù)基礎(chǔ)上使用Java Script腳本語(yǔ)言調(diào)用這些API將Google方便嵌入到Web、Android和iOS應(yīng)用中,并進(jìn)行應(yīng)用開(kāi)發(fā)拓展,如給地圖添加相應(yīng)標(biāo)注、覆蓋物及路徑,響應(yīng)用戶的點(diǎn)擊動(dòng)作等,以達(dá)到滿足各行業(yè)及個(gè)人具體需求的目的。
3 系統(tǒng)設(shè)計(jì)
基于Google Maps的溢油點(diǎn)與應(yīng)急設(shè)備間的行程導(dǎo)航設(shè)計(jì)是基于GIS與Google Maps的溢油應(yīng)急設(shè)備智能系統(tǒng)的一部分,也是基于GIS與物聯(lián)網(wǎng)的船舶海上溢油污染智能檢測(cè)與控制系統(tǒng)的基礎(chǔ)性工作。主要以威海港及周邊港口為研究對(duì)象,在發(fā)生溢油事故時(shí),能夠通過(guò)系統(tǒng)顯示溢油海域周邊港口應(yīng)急設(shè)備到溢油港口行程及導(dǎo)航時(shí)間,通過(guò)與溢油設(shè)備智能知識(shí)庫(kù)相結(jié)合,形成較完善的溢油智能應(yīng)急系統(tǒng),為溢油污染處理提供知識(shí)策略,為整個(gè)系統(tǒng)的運(yùn)行提供支持和保障。研究?jī)?nèi)容在整個(gè)系統(tǒng)設(shè)計(jì)功能中的作用如圖2所示。
本文利用Google Maps的地理信息服務(wù)功能,在記事本環(huán)境或者Dream weaver環(huán)境中,采用Java Script語(yǔ)言添加相應(yīng)用戶程序,創(chuàng)建自己需要的用戶界面,然后通過(guò)內(nèi)部網(wǎng)絡(luò)或廣域網(wǎng)進(jìn)行操作,客戶端瀏覽器通過(guò)HTTP協(xié)議發(fā)送請(qǐng)求,服務(wù)器接受請(qǐng)求后,執(zhí)行Java Script腳本語(yǔ)言,最后將后臺(tái)數(shù)據(jù)結(jié)果返回給客戶端瀏覽器上的用戶界面,用戶可以在相應(yīng)界而中進(jìn)行操作,以滿足實(shí)時(shí)需求。
主要利用Google Maps API的疊加、事件控制和控件集來(lái)實(shí)現(xiàn)溢油應(yīng)急設(shè)備調(diào)集行程導(dǎo)航:
(1)疊加:地圖上有經(jīng)緯坐標(biāo)的對(duì)象集合,會(huì)隨鼠標(biāo)拖動(dòng)或縮放地圖而移動(dòng);
(2)事件:使用onChangeHandler()事件處理程序來(lái)注冊(cè)事件的監(jiān)聽(tīng),當(dāng)指定的事件發(fā)生時(shí),函數(shù)將被調(diào)用;
(3)控件集:根據(jù)開(kāi)發(fā)者需求利用默認(rèn)控件和添加控件實(shí)現(xiàn)對(duì)地圖的操作。
4 功能實(shí)現(xiàn)
4.1 注冊(cè)API密鑰
我們要想利用Google Maps API功能,首先需要注冊(cè)以獲取API密鑰,注冊(cè)時(shí)需要提供網(wǎng)站的URL,每一個(gè)不同的URL都必須申請(qǐng)一個(gè)專門的API密鑰。當(dāng)申請(qǐng)到API密鑰之后,在相應(yīng)的Java Script腳本語(yǔ)句中添加自己的密鑰,就可以將Google Maps嵌入到網(wǎng)頁(yè)中,便可對(duì)其進(jìn)行開(kāi)發(fā)拓展。
4.2 初始化地圖
本文主要以威海港及周邊港口作為研究對(duì)象,因此需要將地圖進(jìn)行定位并縮放,以便能夠較清楚顯示區(qū)域信息,所以將烕海港定位為地圖中心點(diǎn):既可以采用地理位置名稱(烕海港)進(jìn)行定位也可以采用該地理位置的經(jīng)緯度(37.442768,122.19937)進(jìn)行定位,本文采用經(jīng)緯度進(jìn)行定位。地圖縮放等級(jí)選擇為5-8,選擇標(biāo)準(zhǔn):每個(gè)縮放比例下會(huì)看到的大致細(xì)節(jié)級(jí)別為:1:世界;5:大陸/洲;10:城市;15:街道;20:建筑物。本文選為8。效果如圖3所示。
初始化地圖對(duì)象:
4.3 添加應(yīng)用程序
成功創(chuàng)建一副地圖后,若想要實(shí)現(xiàn)不同功能,需要在地圖上添加一些控件,也可以創(chuàng)建自己的控件以處理與用戶的交互操作,如路線導(dǎo)航功能需要選擇不同港口,通過(guò)“onChangeHandler”事件,調(diào)用directionsService.route功能,計(jì)算所選設(shè)備庫(kù)所在港口到溢油應(yīng)急點(diǎn)之間的行程導(dǎo)航時(shí)間與距離:
4.4 顯示選擇窗口
港口發(fā)生溢油事故時(shí)可從不同應(yīng)急設(shè)備庫(kù)調(diào)集應(yīng)急物資,因此需要在地圖上方浮動(dòng)選擇窗口,通過(guò)鼠標(biāo)點(diǎn)擊選擇,后臺(tái)程序通過(guò)監(jiān)聽(tīng)器調(diào)用路徑計(jì)算程序,從而在頁(yè)面顯示相應(yīng)信息提示框,表示相應(yīng)的時(shí)間、距離、路線信息。
溢油應(yīng)急點(diǎn)選擇、周邊溢油設(shè)備港口選擇及信息顯示框如圖4所示。
整體效果如圖5。
假如溢油港口為威海港,想從周圍港口調(diào)集應(yīng)急設(shè)備,為保證及時(shí)處理溢油污染,需要權(quán)衡各設(shè)備庫(kù)到溢油港口距離及時(shí)間問(wèn)題,為溢油事故的處理提供及時(shí)有效的基礎(chǔ)保障。圖4為從石島港調(diào)集溢油應(yīng)急設(shè)備時(shí),此段行程具體路線、時(shí)間及距離。
5 總結(jié)
基于Google Maps實(shí)時(shí)顯示溢油點(diǎn)與周圍調(diào)集的應(yīng)急設(shè)備行程狀況,利用Google Maps對(duì)溢油點(diǎn)到各應(yīng)急設(shè)備庫(kù)的行程進(jìn)行實(shí)時(shí)顯示,并能自動(dòng)計(jì)算調(diào)集應(yīng)急設(shè)備所能到達(dá)的時(shí)間及距離,為溢油事故的處理提供及時(shí)有效的基礎(chǔ)保障。該系統(tǒng)與基于GIS的應(yīng)急設(shè)備庫(kù)智能管理系統(tǒng)相結(jié)合,能為溢油應(yīng)急決策提供有效的支持和保障。
參考文獻(xiàn)
[1]張志斌,徐敏,盧金樹(shù),李玉樂(lè),朱發(fā)新.雙殼油船液貨泄漏機(jī)理及預(yù)防措施探究[J].機(jī)電設(shè)備,2013(03):81-84.
[2]趙文朋.船舶溢油應(yīng)急決策系統(tǒng)的研究與開(kāi)發(fā)[D].上海海事大學(xué),2007.
[3]王志紅,胡川.基于Google Maps API的網(wǎng)絡(luò)地圖服務(wù)系統(tǒng)的研究與應(yīng)用[J].測(cè)繪標(biāo)化,2010:26(02).
[4]戴兵.基于Google Maps API的校園地圖設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2008(S2):184-185.
[5]耿慶齋,繆綸,段媛媛,李江華.基于Google Maps API的Web地圖服務(wù)系統(tǒng)研究及應(yīng)用[J].中國(guó)水利水電科學(xué)研究院學(xué)報(bào),2009,3(01).