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