999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于谷歌地球的船舶動態(tài)監(jiān)控系統(tǒng)的研究與開發(fā)

2017-08-09 03:21:29郝江凌王德強(qiáng)李廣儒
船海工程 2017年4期
關(guān)鍵詞:船舶方法系統(tǒng)

郝江凌,王德強(qiáng),李廣儒

(大連海事大學(xué) 航海學(xué)院,遼寧 大連 116026)

?

基于谷歌地球的船舶動態(tài)監(jiān)控系統(tǒng)的研究與開發(fā)

郝江凌*,王德強(qiáng),李廣儒

(大連海事大學(xué) 航海學(xué)院,遼寧 大連 116026)

針對傳統(tǒng)的船舶動態(tài)監(jiān)控系統(tǒng)開發(fā)周期長、成本高的問題,提出一種基于谷歌地球(Google Earth)的開發(fā)方法。分析Google Earth應(yīng)用程序開發(fā)接口,定義船舶動態(tài)數(shù)據(jù)結(jié)構(gòu);采用KML技術(shù),提出標(biāo)繪船位和航向的新方法;通過新的動態(tài)數(shù)據(jù)加載方法,解決海上動態(tài)物標(biāo)實(shí)時顯示的問題;給出屏幕坐標(biāo)到地理坐標(biāo)的轉(zhuǎn)換公式和流程,為實(shí)現(xiàn)信息查詢提供理論基礎(chǔ)。采用這種技術(shù)對成山角水域以及營口港的船舶進(jìn)行監(jiān)控,驗(yàn)證了方法的可行性和有效性。

船舶動態(tài)監(jiān)控;Google Earth;KML;航行安全

當(dāng)前廣泛應(yīng)用的電子海圖都是以IHO S-52和IHO S-57規(guī)范為基礎(chǔ)的矢量海圖和瓦片海圖,采用點(diǎn)、線、面即圖標(biāo)、線條和顏色填充來表達(dá)客觀物體,不具有真實(shí)感。對于狹窄水域、內(nèi)河和港口的船舶監(jiān)控,越來越多的用戶需要能夠模擬現(xiàn)實(shí)場景的監(jiān)控系統(tǒng)。

綜合國內(nèi)外船舶動態(tài)監(jiān)控系統(tǒng)的研究現(xiàn)狀,其底層的電子海圖平臺采用的開發(fā)技術(shù)主要有2種:①基于專業(yè)GIS軟件的二次開發(fā),如ArcGIS Engine、CMap SDK等[1-2];②采用底層源代碼的開發(fā),如VC++、開放圖形程序庫OpenGL等[3-4]。采用這2種方法構(gòu)建的電子海圖平臺,除了系統(tǒng)本身的研發(fā)外,還需要做大量的海圖數(shù)據(jù)工作,開發(fā)周期長,耗費(fèi)成本高。

將谷歌地球(Google Earth,GE)引入到航運(yùn)領(lǐng)域,主要基于以下2個原因:①它能夠顯示全球水域以及港口、碼頭等海上場景和設(shè)施,為水上物標(biāo)的監(jiān)控提供了基礎(chǔ),不需要額外進(jìn)行地理數(shù)據(jù)的采集和測量;②基于Google Earth平臺的開發(fā)成本低,周期短,可為企業(yè)節(jié)約成本。利用谷歌地球應(yīng)用程序接口(Google Earth API)和KML搭建船舶動態(tài)監(jiān)控系統(tǒng),為航運(yùn)中小企業(yè)高效、快速實(shí)現(xiàn)虛擬現(xiàn)實(shí)的船舶動態(tài)可視化監(jiān)控。

1 Google Earth COM API分析

打開Google Earth程序,首先要登錄遠(yuǎn)程Google地球服務(wù)器。Google Earth會在服務(wù)器和本地之間打開一個會話通道,使用IsInitialized()函數(shù)進(jìn)行注冊和初始化。但要注意的是,在Google Earth初始化之后執(zhí)行業(yè)務(wù)代碼之前,需要使用函數(shù)IsOnline()檢測是否注冊成功,否則會導(dǎo)致錯誤[5]。

當(dāng)用戶觀察Google Earth三維球體時,需要操縱視場照相機(jī)(ViewCamera)才能模擬轉(zhuǎn)動頭部和眼球。IApplicationGE接口提供了一個獲得“視場照相機(jī)”對象的方法GetCamera。鏡頭的位置稱為視點(diǎn),通過當(dāng)前視場的內(nèi)容和觀察角度的反向推算獲得[6]。

在Google Earth中,任何一個物體的空間位置由3個屬性(三維)決定:經(jīng)度(longitude)、緯度(latitude)和高程(altitude)。高程是物體到地球表面的距離,m。

需要注意的是:從視點(diǎn)觀察一個物體時,除了要確定上述3個空間屬性外,還需確定傾角(tilt)和視程(Range),見圖1。

圖1 GE視場解析

傾角是視線方向和物體所在點(diǎn)地球表面的法線之間的角度,值范圍從0°~90°。傾角的值不能為負(fù)值,傾角值0°表示從正上方看,值為90°表示沿地平線查看。視程是指從視點(diǎn)到物體位置(由經(jīng)度、緯度和海拔高度決定)的距離,m。

IApplicationGE類是Google Earth COM API的基礎(chǔ)類。該類提供了應(yīng)用程序訪問Google Earth的接口,通過該類的成員函數(shù),可以獲得其他類的接口[7]。Google Earth COM API 類庫中共有11個類,每個類的功能見表1。

表1 Google Earth COM API 類庫

2 基于KML的船舶動態(tài)數(shù)據(jù)結(jié)構(gòu)

KML采用面向?qū)ο蟮乃枷耄瑏砻枋龊痛鎯Φ乩硇畔⒉⒃贕E客戶端中顯示。KML的基本功能主要包括:指定圖標(biāo)和標(biāo)簽,以識別地球表面的特定地點(diǎn);創(chuàng)建不同的照相機(jī)位置,為每個用戶要素定義其獨(dú)特的觀察視角;使用附在地面或屏幕上的圖像疊加;定義樣式以指定要素外觀等。

船舶動態(tài)監(jiān)控系統(tǒng)涉及的內(nèi)容很多,不同的用戶有不同的業(yè)務(wù)需求,但基本功能都是船舶動態(tài)數(shù)據(jù)的組織和空間位置的顯示。船舶動態(tài)數(shù)據(jù)可能來源于AIS、GPS、雷達(dá)(ARPA),具有多種不同類型。所以,首先要解決數(shù)據(jù)融合的問題。

將不同數(shù)據(jù)源、不同類型的數(shù)據(jù)添加到KML中統(tǒng)一進(jìn)行顯示,通常采用的方法是使用要素。KML中的要素提供了一種將自定義數(shù)據(jù)添加到一個KML要素中的機(jī)制,就是要素,它允許用戶添加未定義類型(untyped)的name/value對[8]。

這種方法針對船舶動態(tài)監(jiān)控系統(tǒng)來說太復(fù)雜,不直觀。通過對船舶動態(tài)信息的特點(diǎn)進(jìn)行分析和抽取,將不同數(shù)據(jù)源的數(shù)據(jù)進(jìn)行融合,形成一個全面、完備的統(tǒng)一數(shù)據(jù)結(jié)構(gòu),建立的船舶動態(tài)信息數(shù)據(jù)結(jié)構(gòu)見表2。

表2 船舶動態(tài)信息數(shù)據(jù)結(jié)構(gòu)

將船舶動態(tài)信息存儲到KML文件中,采用