摘要:在電子海圖上疊加顯示船舶運(yùn)動(dòng)軌跡對(duì)船舶航跡分析和海上事故回放具有重要意義。船舶AIS(Automatic Identification System)報(bào)文提供了一種新的船舶動(dòng)態(tài)和船舶運(yùn)動(dòng)軌跡獲取方式。由于有關(guān)船舶動(dòng)態(tài)的AIS報(bào)文發(fā)送頻度較高,致使船舶運(yùn)動(dòng)軌跡點(diǎn)較為密集,這種情況將會(huì)導(dǎo)致電子海圖系統(tǒng)在顯示較長(zhǎng)時(shí)間段船舶運(yùn)動(dòng)軌跡時(shí),速度下降,從而降低了系統(tǒng)的用戶友好性。利用垂距法對(duì)船舶動(dòng)態(tài)數(shù)據(jù)按照電子海圖顯示比例尺進(jìn)行分層。當(dāng)電子海圖顯示比例尺較小時(shí),僅顯示船舶運(yùn)動(dòng)軌跡輪廓,而當(dāng)顯示比例尺逐漸增大時(shí),顯示海圖顯示地理范圍內(nèi)更詳細(xì)的船舶運(yùn)動(dòng)軌跡信息。實(shí)驗(yàn)表明該方法能有效地提高船舶運(yùn)動(dòng)軌跡的顯示速度。
關(guān)鍵詞:水路運(yùn)輸;電子海圖;船舶運(yùn)動(dòng)軌跡;自動(dòng)識(shí)別系統(tǒng);矢量壓縮
在電子海圖上疊加顯示船舶運(yùn)動(dòng)軌跡對(duì)船舶航跡分析和海上事故回放具有重要意義。船舶AIS(Automatic Identification System)報(bào)文提供了一種新的船舶動(dòng)態(tài)和船舶運(yùn)動(dòng)軌跡獲取方式,已廣泛應(yīng)用于基于電子海圖的船舶動(dòng)態(tài)管理系統(tǒng)中。由于有關(guān)船舶動(dòng)態(tài)的AIS,報(bào)文發(fā)送頻率較高(3s/次~6s/次),致使船舶運(yùn)動(dòng)軌跡點(diǎn)較為密集,這種情況將導(dǎo)致電子海圖系統(tǒng)在顯示較長(zhǎng)時(shí)間段船舶運(yùn)動(dòng)軌跡時(shí),耗時(shí)增加,從而降低了系統(tǒng)的用戶友好性。這種情況在一些基于C/S和B/S技術(shù)的船舶動(dòng)態(tài)管理系統(tǒng)尤其突出。
為了解決上述問(wèn)題,首先將電子海圖顯示比例尺自小至大劃分為若干個(gè)層次,針對(duì)每一個(gè)比例尺層次,利用矢量壓縮的方法對(duì)每一個(gè)船舶位置點(diǎn)進(jìn)行顯示判斷:如果某一船舶位置點(diǎn)在當(dāng)前比例尺層次上進(jìn)行數(shù)據(jù)壓縮后仍然得以保留,則該點(diǎn)將在該比例尺層次上顯示出來(lái)。通過(guò)這一方法,當(dāng)顯示比例尺較小時(shí),顯示的地理范圍較大,僅顯示船舶運(yùn)動(dòng)軌跡輪廓數(shù)據(jù),而當(dāng)比例尺層次逐漸放大時(shí),顯示的地理范圍將越來(lái)越大,可顯示更詳細(xì)的船舶運(yùn)動(dòng)軌跡數(shù)據(jù)。這樣,在不同的顯示層次上,顯示的船舶運(yùn)動(dòng)軌跡數(shù)據(jù)都是適量的,因此,顯示速度可以得到有效提高。
1基于垂距法的船舶位置點(diǎn)顯示判斷方法
本文采用矢量數(shù)據(jù)壓縮方法來(lái)判斷某一船舶位置點(diǎn)在某一海圖比例尺上是否顯示。經(jīng)典的矢量數(shù)據(jù)壓縮主要有Douglas-Peucker方法、垂距法和光欄法。Douglas-Peucker方法整體壓縮效果較好,但必須在整個(gè)航跡完成后,才能進(jìn)行航跡壓縮,因此,該方法通常不能滿足船舶運(yùn)動(dòng)軌跡壓縮的實(shí)時(shí)性要求;此外,該方法的計(jì)算量也很大。盡管垂距法的整體壓縮效果稍差,但可對(duì)航跡進(jìn)行實(shí)時(shí)壓縮處理,并且計(jì)算量較小。本文采用垂距法進(jìn)行船舶運(yùn)動(dòng)軌跡的壓縮處理。
設(shè)垂距法所用閾值為δ,已知3個(gè)相鄰船舶位置點(diǎn)A(λ1,φ1),B(λ2,φ2)和C(λ3,φ3),其中A點(diǎn)已被判明在當(dāng)前閾值下,仍需顯示,則判斷B點(diǎn)在當(dāng)前閾值下是否顯示的過(guò)程如下:
1.若A點(diǎn)和C點(diǎn)不重合,如圖1所示,則B點(diǎn)至AC的垂直距離d可以通過(guò)公式(1)求得。
α=arcos[(λ3-λ2)(λ1-λ2)+(φ3-φ2)(φ1-φ2)/(d1×d2)]
2.若A、C兩點(diǎn)重合,如圖2所示,令:
3.若d<δ,則判斷B點(diǎn)在當(dāng)前閾值下,不再顯示;若d≥δ,則B點(diǎn)需要顯示。
2船舶運(yùn)動(dòng)軌跡顯示算法
利用垂距法對(duì)船舶運(yùn)動(dòng)軌跡數(shù)據(jù)進(jìn)行預(yù)處理,為每一個(gè)船舶位置點(diǎn)賦予一個(gè)顯示比例尺標(biāo)記。顯示比例尺越小,對(duì)應(yīng)的船舶位置點(diǎn)越少。當(dāng)電子海圖顯示比例尺較小時(shí),僅疊加當(dāng)前海圖顯示地理范圍內(nèi)或適當(dāng)放大范圍內(nèi)的船舶運(yùn)動(dòng)軌跡輪廓信息。當(dāng)用戶逐步增加電子海圖比例尺時(shí),將疊加顯示更詳細(xì)的船舶運(yùn)動(dòng)軌跡,反之亦然。由于在此方法中,每次用戶交互,僅顯示較少數(shù)量的船舶運(yùn)動(dòng)軌跡數(shù)據(jù),保證了船舶運(yùn)動(dòng)軌跡的顯示處理速度,提高了在電子海圖顯示船舶運(yùn)動(dòng)軌跡的用戶友好性。具體的步驟為:
1.將電子海圖的顯示比例尺劃分為N個(gè)層次。每一個(gè)層次順序?qū)?yīng)一個(gè)顯示比例尺范圍。N值越小,對(duì)應(yīng)的顯示比例尺越小。
2.利用垂距法,對(duì)船舶運(yùn)動(dòng)軌跡中每一個(gè)位置點(diǎn)按顯示比例尺層次進(jìn)行標(biāo)記,以確定在某一顯示比例尺層次上該點(diǎn)是否構(gòu)成船舶運(yùn)動(dòng)軌跡。具體做法是:
1)為每一個(gè)顯示比例尺層次Ni賦予一個(gè)矢量數(shù)據(jù)壓縮閾值。Ni越小,該閾值越大;
2)為每一個(gè)船舶位置點(diǎn)賦予一個(gè)初始標(biāo)記,起始點(diǎn)初始標(biāo)記為0(意味著在每一比例尺上,起始點(diǎn)都會(huì)顯示),其它為N-1。
3)按照比例尺層次從大到小的順序,利用垂距法和每一顯示比例尺層次所對(duì)應(yīng)的壓縮閾值,對(duì)每一個(gè)船舶運(yùn)動(dòng)位置點(diǎn)進(jìn)行顯示判斷和標(biāo)記。假定當(dāng)前比例尺層次為Ni,利用“1.”所示的船舶位置點(diǎn)顯示判斷方法,如判定某一船舶運(yùn)動(dòng)位置點(diǎn)在Ni所對(duì)應(yīng)的閾值下需要顯示,則給該點(diǎn)賦予一個(gè)新的顯示標(biāo)記,即當(dāng)前的比例尺層次Ni,否則,不改變?cè)擖c(diǎn)的顯示標(biāo)記。
3.當(dāng)電子海圖比例尺對(duì)應(yīng)的比例尺層次為Ni時(shí),從船舶所有位置點(diǎn)中找出當(dāng)前顯示地理范圍內(nèi)或適當(dāng)放大的地理范圍內(nèi)且顯示標(biāo)記小于或等于Ni的船舶位置點(diǎn)信息。
4.將“3.”所得到船舶位置點(diǎn)數(shù)據(jù)按時(shí)間順序進(jìn)行連接,在電子海圖上繪制船舶運(yùn)動(dòng)軌跡。
5.當(dāng)電子海圖比例尺變化時(shí),或當(dāng)電子海圖顯示地理范圍變化時(shí),重復(fù)“3.”和“4.”。
3實(shí)驗(yàn)結(jié)果
將電子海圖比例尺劃分為17(0~16)個(gè)層次,并假定每個(gè)層次所對(duì)應(yīng)的比例尺范圍和閾值如表1所示。
表1比例尺層次對(duì)應(yīng)閾值表
層次 |
比例尺范圍 |
閾值 |
0 |
0≤1:591658710.8 |
100 |
1 |
1:591658710.8~1:295829355.4 |
20 |
2 |
1:295829355.4~1:147914677.7 |
5 |
3 |
1:147914677.7~1:73957338.9 |
0.5 |
4 |
1:73957338.9~1:36978669.4 |
0.4 |
5 |
1:36978669.4~1:18489334.7 |
0.35 |
6 |
1:18489334.7~1:9244667.4 |
0.3 |
7 |
1:9244667.4~1:4622333.7 |
0.28 |
8 |
1:4622333.7~1:2311166.8 |
0.25 |
9 |
1:2311166.8~1:1155583.4 |
0.2 |
10 |
1:1155583.4~1:577791.7 |
0.15 |
11 |
1:577791.7~1:288895.9 |
0.1 |
12 |
1:144447.9~1:72224.0 |
0.05 |
13 |
1:72224.0~1:36112.0 |
0.04 |
14 |
1:36112.0~1:18056.0 |
0.02 |
15 |
1:18056.0~1:9028.0 |
0.01 |
16 |
≥1:9028.0 |
0 |
閾值的確定對(duì)提高船舶運(yùn)動(dòng)軌跡顯示的影響較大。一般來(lái)說(shuō),比例尺范圍越大,所對(duì)應(yīng)的閾值越小。在確定每一個(gè)比例尺層次所對(duì)應(yīng)的閾值時(shí),應(yīng)確保在該比例尺層次上,船舶運(yùn)動(dòng)軌跡顯示較為平滑,而船舶運(yùn)動(dòng)軌跡點(diǎn)數(shù)量也較為適中,因此,每一格比例尺層次所對(duì)應(yīng)的閾值需通過(guò)反復(fù)試驗(yàn)進(jìn)行確定。
給定一條船舶的運(yùn)動(dòng)軌跡,如圖3所示,共448個(gè)船位點(diǎn)。圖4~圖10分別給出該船運(yùn)動(dòng)軌跡在不同比例尺層次上船位點(diǎn)個(gè)數(shù)及拓?fù)湫螤?。圖11和圖12分別給出該船運(yùn)動(dòng)軌跡在第0層次和第15層次海圖比例尺上的實(shí)際顯示形狀。從這些圖中可以得出這樣的結(jié)論:
1.在小海圖比例尺上,可在保證船舶航跡形狀的情況下,使構(gòu)成航跡的船位點(diǎn)數(shù)量得到顯著減少。
2.隨著海圖比例尺的增加,顯示的船舶航跡越來(lái)越詳細(xì),但由于海圖地理顯示范圍的減小,構(gòu)成航跡的船位點(diǎn)數(shù)量也較為有限。
因此,利用本文方法,可在保持船舶航跡形狀的前提下,顯著提高船舶航跡的顯示速度。
4結(jié)語(yǔ)
利用垂距法對(duì)密集的船舶運(yùn)動(dòng)軌跡數(shù)據(jù)按照海圖顯示比例尺進(jìn)行標(biāo)記,實(shí)現(xiàn)了在較小海圖比例尺上瀏覽船舶航跡輪廓信息,而在較大比例尺上瀏覽更詳細(xì)船舶航跡信息的策略,有效減小了每次船舶航跡顯示所需處理的船舶位置點(diǎn)數(shù)量,從而可顯著提高在電子海圖上顯示較長(zhǎng)時(shí)間段船舶動(dòng)軌跡的速度。該工作對(duì)實(shí)現(xiàn)船舶動(dòng)態(tài)管理系統(tǒng)中基于AIS動(dòng)態(tài)報(bào)文的船舶航跡分析或交通事故回放功能具有重要的價(jià)值。
作者:胡勤友,孟良 來(lái)源:中國(guó)航海