鄭 艷
(武漢職業(yè)技術(shù)學(xué)院 計算機系,湖北 武漢430074)
移動對象數(shù)據(jù)庫 (Moving Objects Database,MOD)是當(dāng)前一個新的研究領(lǐng)域。建立MOD的目標(biāo)是將移動對象的狀態(tài)、軌跡等信息以相關(guān)的信息表示,并存儲于數(shù)據(jù)庫中,從而可以通過訪問數(shù)據(jù)庫實現(xiàn)對于移動對象位置和軌跡相關(guān)信息的獲取。
在MOD 中,移動對象可以是汽車、船舶、飛行器或移動通信終端。在構(gòu)建MOD的過程中,需要實時地將對象的位置信息上傳并存儲數(shù)據(jù)庫,使得數(shù)據(jù)庫中的對象信息能夠及時更新,沒有斷點。
在當(dāng)前的研究成果中,部分學(xué)者和企業(yè)提出了相關(guān)的位置跟蹤和更新方法,主要有固定時間位置更 新 機 制 (Fixed- Distance Location Update Mechanisms,F(xiàn)TLU)和固定距離位置更新機制(Fixed- Distance Location Update Mechanisms,F(xiàn)DLU)。前者的工作原理是設(shè)置固定的更新時間,移動對象以該頻率向數(shù)據(jù)庫上傳信息;后者與前者類似,只是按照固定的距離上傳而不是時間。這2種方法實現(xiàn)較為簡單,在實際生活和生產(chǎn)中得到了較為廣泛的應(yīng)用,但是在時間和距離的設(shè)置上,需要考慮到信息的分辨率和相應(yīng)開銷的平衡,而這一平衡較難達(dá)到。此外,基于移動向量的更新機制(Motion- Vector- based location update mechanism,MVBLU)也是研究的熱點之一。在文獻(xiàn)中,有學(xué)者提出了一種能夠利用對象運動軌跡和交通網(wǎng)絡(luò)拓?fù)鋵崿F(xiàn)位置實時更新的方法。并且在MVBLU的基礎(chǔ)上,基于ID 觸發(fā)的位置更新(IDTLU)、基于速度門限的位置更新(STTLU)等方法被提出。
在當(dāng)前的實際應(yīng)用情境中,有2 種方式獲得移動對象的信息,一種是通過船舶的黑匣子,另一種是通過實時通信技術(shù)。通過獲取對象的位置信息,并將其實時的存儲入移動對象數(shù)據(jù)庫,使得對于對象過去、現(xiàn)在和未來的航跡管理成為可能。
與火車的軌道和汽車的公路不同,船舶的航跡受到多種因素的影響,具有較大的不確定性。船舶在航行過程中,按照事先制定的航線行駛,然而由于海面環(huán)境情況復(fù)雜,船舶的實際航跡與既定航線往往存在偏差。
在本節(jié)中將討論如何對船舶的位置信息進(jìn)行建模,在航行過程中,船舶的位置以經(jīng)緯度的形式表達(dá),其航跡也通常采用這種直接的方式描述。因此有以下定義:
定義1:船舶的航跡R 定義為

式中:rid 為該航跡的ID,用于識別和區(qū)分航跡;geo 為一個連續(xù)曲線或折線,用來描述航跡的幾何特性;len 為航跡的長度;ARS (automic route section)為航跡的集合。
一條船舶航跡地直觀描述,如圖1所示。

圖1 航跡示意圖Fig.1 The figure of ship route
根據(jù)圖1 中的表示,可以對移動點進(jìn)行定義:
定義2:移動點(mobile point,mp)是航跡的最小組成部分,ars 為一個移動點周圍,前后2 條航跡之間的夾角,

式中:mid 為移動點的ID;(longitude ,latitude)為移動點的經(jīng)緯度信息;course 為移動點的航向;dis為該點距離下一移動點的距離。則根據(jù)定義2,一條航跡可以看做1 組移動點的集合及定義移動向量。
定義3:移動點在t 時刻的移動向量可以定義如下:

式中:t 為某時刻;(longitude ,latitude)為移動點的位置;speed 為移動點的航速;course 為t 時刻移動點的方向;extra 為其他信息,包含操作參數(shù)、目的地、終端距離等。
為了更好地對航跡進(jìn)行建模,將二維航跡擴展為三維,定義如下:
定義4:一個移動對象的空間-時間航跡是指為其二維航跡加上時間維度,其中時間維度記錄的是該移動點被記錄的時間。
一個移動對象的空間-時間軌跡如圖2所示。

圖2 空間-時間軌跡實例Fig.2 Example of spatial-time trajectory
根據(jù)圖2所示的各個維度與軌跡,可將某個移動對象的軌跡表示為一組移動向量:

其中mvn為最后一個上傳的移動向量,成為活動移動向量,如圖3所示,通過活動移動向量,可以計算出移動對象的當(dāng)前位置。
圖3 是一個移動點的軌跡,其中虛線為在二維空間中觀察得出的該移動點的軌跡。

圖3 移動點軌跡Fig.3 Trajectory of a moving point
本節(jié)將討論如何將移動向量和航行相關(guān)的特征數(shù)據(jù),上傳到服務(wù)器。在服務(wù)器中保存著移動對象以往和當(dāng)前的所有位置信息,通過更新規(guī)則,確保上傳的數(shù)據(jù)與實際航跡相統(tǒng)一,并能夠確保更新過程的開銷盡量小。
在實際應(yīng)用過程中,需要將航跡信息映射到經(jīng)緯度坐標(biāo)系中。在本文中選取WGS84 作為基準(zhǔn),由于船舶的位置能夠?qū)崟r映射在坐標(biāo)系中,因而可以通過坐標(biāo)系中移動點的運動速度,判斷船舶的實際運動虛度。在坐標(biāo)系中,默認(rèn)選擇北方為y 軸,東方為x 軸。
需要注意的是,在將經(jīng)緯度映射為坐標(biāo)的過程中,有可能存在誤差和錯誤,為了盡量避免船舶的位置失真,在映射的過程中,應(yīng)當(dāng)設(shè)定一定的閾值,當(dāng)數(shù)據(jù)超過該閾值時,則被認(rèn)為非法,在閾值內(nèi)時則正常進(jìn)行數(shù)據(jù)映射。
當(dāng)船舶在海面航行時,導(dǎo)航信息系統(tǒng)會通過實時采集信息(如金維度、航速、航向、目的地等),并與之前已經(jīng)更新的移動向量相對比。通過兩者的比對,如果達(dá)到了更新的條件,則系統(tǒng)記錄當(dāng)前的移動向量,并上傳給服務(wù)器,從而可以精確地控制當(dāng)前船舶的位置。
通過對船舶航行中的真實數(shù)據(jù)和特征進(jìn)行分析,考慮對經(jīng)緯度、航速、航向等對移動向量影響較大的數(shù)據(jù),定義更新機制的觸發(fā)規(guī)則如下:
移動對象在ti時刻的移動向量為

式中(xi,yi)為坐標(biāo)系坐標(biāo);vi為航速ci為航向;hi為方向;ni為操作配置;di為吃水深度;desi為目的地;ei為剩余到達(dá)時間。
假設(shè)ai為ti時刻的加速度,則在下一時刻ti+1,可得移動對象的位置(xm,ym)和速度vm為:

根據(jù)以上計算公式,定義以下觸發(fā)規(guī)則:
規(guī)則1:計算(xm,ym)和(xi+1,yi+1)的歐氏距離,當(dāng)該距離大于一定門限值時,則更新過程被觸發(fā);
規(guī)則2:比較vm和vi+1,當(dāng)二者的差距大于一定門限值時,則更新過程被觸發(fā);
規(guī)則3:測量船舶的轉(zhuǎn)向角,當(dāng)ci+1的變化大于一定門限值時,則更新過程被觸發(fā)。
在以上規(guī)則中,門限值的制定需要根據(jù)船舶的具體特性、海面的具體環(huán)境和人工的設(shè)定,由于對于船舶來說,其體積較大,航行過程中的速度,航向等特性變化率較低,因而使用門限的方法來控制更新的過程具有較好的效果。
此外,由于海上通信環(huán)境較為復(fù)雜,為了避免上傳服務(wù)器的數(shù)據(jù)發(fā)生沖突,要求2 次更新時間必須大于3 s。
為了證明本文提出的方案能夠減少服務(wù)器與船舶之間的交互流量,并能達(dá)到較高的精確性,對本文所提出的方法進(jìn)行仿真,并對結(jié)果進(jìn)行分析。
首先,利用C++開發(fā)了船舶移動對象模擬模塊,和能夠存儲相應(yīng)數(shù)據(jù)的服務(wù)器,二者通過socket通信,仿真運行的環(huán)境為core i3 2.1GHz,2G,Win7 64 bit 計算機。
為了反映航行過程中的真實情況,使用了4 艘船舶的真實歷史航行數(shù)據(jù)作為實驗數(shù)據(jù),相應(yīng)的移動向量均有這些數(shù)據(jù)獲得,實驗結(jié)果如表1所示。

表1 實驗結(jié)果Tab.1 The result of the simulation
表1 顯示了在實驗過程中,4 艘船舶在位置更新過程中,與服務(wù)器的流量交互情況。其中MMSI(Maritime Mobile Service Identity)為海上移動注冊名,用來標(biāo)識使用移動服務(wù)的用戶名;下載數(shù)據(jù)為船舶從服務(wù)器中下載的數(shù)據(jù),包括地圖數(shù)據(jù)、水文數(shù)據(jù)等;上傳數(shù)據(jù)為船舶在更新自身位置信息時,向服務(wù)器上傳的數(shù)據(jù),這些數(shù)據(jù)記錄了船舶的航跡;節(jié)省流量比例是指在當(dāng)前的通信頻率下,與傳統(tǒng)的導(dǎo)航信息更新機制相比,本文提出的方法所節(jié)省的流量比例。
在實驗的4 艘船舶中,其中110603267的航行狀態(tài)為正常行駛,不包含其他客觀影響;123456778的航行狀態(tài)為靜止,并且由于海面的波動,位置有著輕微的變動;200804300的航行狀態(tài)為時而靜止,時而航行,二者交替進(jìn)行;209075000的航行狀態(tài)為正常行駛,但是有2個航行目標(biāo)。
為了顯示航跡信息的精確性,我們將比較船舶的實際航行軌跡與數(shù)據(jù)庫記錄數(shù)據(jù)之間的差別。
船舶的實際航信軌跡如圖4所示,通過數(shù)據(jù)庫中存儲的移動對象信息還原出的船舶航跡如圖5所示,在圖中細(xì)小原點代表每次船舶更新位置信息時所在的點,也就是更新的移動向量,方形的點是標(biāo)志點,當(dāng)船舶的更新次數(shù)達(dá)到一定界限時,則標(biāo)注一個標(biāo)志點。

圖4 船舶實際航跡圖Fig.4 The real track of navigation

圖5 數(shù)據(jù)庫記錄數(shù)據(jù)圖Fig.5 The track of database records
對比圖4 與圖5的航跡可以發(fā)現(xiàn),導(dǎo)航信息的更新機制,過濾掉了一些不需要的點,同時能夠較為精確將實際航跡進(jìn)行還原。結(jié)合上文所述的算法機制,可知本文提出機制的精確性由算法中設(shè)置的位置、速度、時間門限決定,而這些門限的確定仍需要在下一步的工作中繼續(xù)研究。
同時,根據(jù)本文設(shè)計的算法,由數(shù)據(jù)庫記錄所還原的航跡圖像,其記錄點的誤差不會大于所設(shè)定的相應(yīng)的門限值,說明了本文提出的方法具有較高的效率和較好的精確性。
移動對象數(shù)據(jù)庫的相關(guān)研究已經(jīng)趨于成熟,然而移動對象數(shù)據(jù)庫的更新機制如何制定,仍然缺少相應(yīng)的研究和實踐。本文提出了一種基于移動向量和船舶導(dǎo)航信息的移動對象信息更新機制。這種方法通過對船舶航線的建模,設(shè)計了自動化的移動對象信息更新算法。通過仿真和實驗,證明了本文提出的方法與傳統(tǒng)的真實航線信息更新方法相比,具有更好的性能表現(xiàn),能夠在較低的系統(tǒng)開銷下,實現(xiàn)較高的精確度。
在下一步的工作中,我們將根據(jù)船舶移動對象的特點,對海上移動數(shù)據(jù)更新、存儲和查詢,進(jìn)行優(yōu)化。設(shè)計和建立海事領(lǐng)域的移動對象數(shù)據(jù),并通過高效的管理使之在更多的領(lǐng)域中發(fā)揮更大的作用。
[1]RALF H G,MARKUS S.Moving objects databases[M].USA:CRC Press,2007:15-18.
[2]許昭霞,王澤元.國外水下導(dǎo)航技術(shù)發(fā)展現(xiàn)狀及趨勢[J].艦船科學(xué)技術(shù),2013,35(11):99-103.XU Zhao-xia,WANG Ze-yuan.Recent advances and future trends in foreign undewater navigation techniques[J].Ship Science and Technology,2013,35(11):99-103.
[3]陳啟楠.艦船穩(wěn)定性實時監(jiān)測系統(tǒng)研究與設(shè)計[J].艦船科學(xué)技術(shù),2011,33(S):59-65.CHEN Qi-nan.Research and design of monitoring system for ship stability[J].Ship Science and Technology,2011,33(S):59-65.
[4]DING Zhi-ming,CHEN Qi-nan,RALF H G.Managing moving objects on dynamic transportation networks[C]//Proceedings-16th International Conference on Scientific and Statistical Databse Management,SSDBM,2004.
[5]OURI W,YIN Hua-bei.Accuracy and resource consumption in tracking and location prediction[J].SSTD,2003(27):89-96.
[6]CHRISTIAN D,THOMAS B,RALF H G.BerlinMOD:a benchmark for moving object databases[J].The VLDB Journal,2009(18):1335-1368.
[7]DIETER P,CHRISTIAN S J.Capturing the uncertainty of moving-object representations[J].Lecture Notes in Computer Science,1999(3):111-131.