本發(fā)明涉及一種軌跡線組的特征線提取方法,特別是涉及一種基于三角網(wǎng)的軌跡線組的特征線提取方法,屬于軌跡分析技術(shù)領(lǐng)域。
背景技術(shù):
軌跡線是移動對象按一定時間間隔記錄空間位置,將這些位置按經(jīng)緯坐標(biāo)表示成軌跡點,并按時間順序依次連接而成的折線。而一組軌跡線的特征線是指能夠表示軌跡線組中所有軌跡線反映出的空間位置、形狀、大小、分布情況等空間特征的折線。兩條軌跡線的特征線就是它們的中心線,而多條軌跡線的特征線計算則較為復(fù)雜。軌跡線組的特征線可用于道路信息的更新與維護、海上主要航線分析、移動對象行為特征分析等方面。
然而,當(dāng)前的特征線分析方法通常將軌跡線劃分為線段后計算,具有一定的局限性。如果將一組軌跡線特征線的求解轉(zhuǎn)化為兩條軌跡線的中心線求解,現(xiàn)有的中心線計算方法大多針對空間不相交的線,在進(jìn)行大量中心線提取時,計算量大,不適用于軌跡線組的計算。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是為了解決多條軌跡線的特征線提取方法復(fù)雜及現(xiàn)有方法不適用相交軌跡線提取的問題,本發(fā)明提供一種軌跡線組特征線提取方法。
本發(fā)明的軌跡線組特征線提取方法,所述方法包括如下步驟:
步驟一:計算軌跡線組中每兩條軌跡線間的距離;
步驟二:取計算的距離中最大距離對應(yīng)的兩條軌跡線,獲取該兩條軌跡線的中心線;
步驟三:用獲取的中心線替換其對應(yīng)的兩條軌跡線,更新軌跡線組,判斷軌跡線組中軌跡線數(shù)量是否為2,若是,轉(zhuǎn)入步驟四,若否,則轉(zhuǎn)入步驟一;
步驟四:獲取軌跡線組中的兩條軌跡線的中心線,該中心線即為軌跡線組的特征線。
優(yōu)選的是,所述步驟二中,獲取該兩條軌跡線的中心線的方法為:
基于三角網(wǎng),獲取該兩條軌跡線的中心線。
優(yōu)選的是,所述基于三角網(wǎng),獲取該兩條軌跡線的中心線的方法包括:
步驟b1、判斷兩條軌跡線方向是否一致,如果一致,轉(zhuǎn)入步驟b2,如果不一致,則將其中一條軌跡線的點集反向排列,使兩條軌跡線方向一致;
步驟b2、順序獲取組成兩條軌跡線的點集分別為L1和L2,兩個點集中節(jié)點的數(shù)量分別為M和N:
步驟b3、連接兩條軌跡線的起始節(jié)點得到線段P11P21,將線段P11P21的中點作為中心線的起點,加入到中心線點集Lc中;
步驟b4、從線段P11P21開始,按順序取點集L1和L2中對應(yīng)的節(jié)點,構(gòu)建三角形,獲取中心線點:
步驟b41:以節(jié)點P1i、節(jié)點P2j為起點,取節(jié)點P1(i+1)、節(jié)點P2(j+1),判斷線段P1iP1(i+1)與線段P2jP2(j+1)是否相交,若不相交,轉(zhuǎn)入步驟b42;若相交,轉(zhuǎn)入步驟b43;
步驟b42:構(gòu)建三角形,比較線段P1iP2(j+1)與P2jP1(i+1)的長度,選擇長度較短的線段的中點加入到中心線點集Lc中,轉(zhuǎn)入步驟44;
步驟b43:根據(jù)兩線段交點Q,得到三角形P1iP2jQ與三角形QP1(i+1)P2(j+1),分別比較線段QP1i與QP2j、線段QP1(i+1)與QP2(j+1)的長度,將比較后較短線段在對應(yīng)較長線段上取點構(gòu)建等腰三角形,并把構(gòu)建的等腰三角形的底邊的中點加入到中心線點集Lc中,轉(zhuǎn)入步驟b44;
步驟b44:當(dāng)節(jié)點P1(i+1)參與構(gòu)建三角形獲得中點,使j=j(luò)+1,轉(zhuǎn)入步驟b41,當(dāng)節(jié)點P2(j+1)參與構(gòu)建三角形獲得中點,使i=i+1,轉(zhuǎn)入步驟b41,直至點集L1和L2中的節(jié)點都取完;
步驟b5、按加入中心線點集Lc的順序依次連接中心線點集Lc中的點,得到一條折線,即為兩條軌跡線的中心線。
優(yōu)選的是,所述步驟b1中,判斷兩條軌跡線方向是否一致的方法為:
將軌跡線的起始節(jié)點指向終節(jié)點作為軌跡線的方向向量,兩條軌跡線方向向量分別為a和b,a和b的夾角為θ,若夾角θ的余弦值小于0,則方向不一致,否則方向一致,向量夾角θ余弦值為:
優(yōu)選的是,所述步驟一中,計算兩條軌跡線間的距離的方法包括:
步驟a1:順序獲取組成兩條軌跡線的點集分別為L1和L2,兩個點集中節(jié)點的數(shù)量分別為M和N:
步驟a2、依次計算L1中每一個節(jié)點P1i到L2中每一條線段P2jP2(j+1)的距離d1ij,其中i=1,2,…,M,j=1,2,…,N-1;
步驟a3:依次計算L2中每一個節(jié)點P2j到L1中每一條線段P1iP1(i+1)的距離d2ij,其中i=1,2,…,M-1,j=1,2,…,N;
步驟a4:根據(jù)下述公式,獲取兩條軌跡線間的距離D:
本發(fā)明的有益效果在于,本發(fā)明通過計算兩兩軌跡線間的距離,挑選距離最大的兩條軌跡線,提取它們的中心線,用中心線在原軌跡線組中替換挑選出的兩軌跡線,再用同樣的方法挑選軌跡線、計算中心線、替換,直到軌跡線組只剩下兩條折線時,則這兩條折線的中心線即為要計算的特征線。本發(fā)明提供了特征線軌跡線間距離的計算、兩條軌跡線中心線計算和特征線迭代求解的方法。應(yīng)用本發(fā)明能夠提取出代表一組軌跡線的空間位置、形狀、大小和分布等幾何屬性的特征線,作為一種空間數(shù)據(jù)挖掘方法,有助于道路信息的更新與維護、海上主要航線分析、移動對象行為特征分析等方面。
附圖說明
圖1為實施例中軌跡線組的示意圖。
圖2為實施例中兩條軌跡線的中心線提取示意圖。
圖3為實施例中軌跡線組迭代計算中心線過程示意圖。
圖4為實施例中軌跡線組提取結(jié)果示意圖。
具體實施方式
本實施方式所述的軌跡線組特征線提取方法,包括如下步驟:
步驟一:計算軌跡線組中每兩條軌跡線間的距離;
步驟二:取計算的距離中最大距離對應(yīng)的兩條軌跡線,獲取該兩條軌跡線的中心線;
步驟三:用獲取的中心線替換其對應(yīng)的兩條軌跡線,更新軌跡線組,判斷軌跡線組中軌跡線數(shù)量是否為2,若是,轉(zhuǎn)入步驟四,若否,則轉(zhuǎn)入步驟一;
步驟四:獲取軌跡線組中的兩條軌跡線的中心線,該中心線即為軌跡線組的特征線。
本實施方式提供了多于兩條軌跡線的軌跡線組的特征線提取方法,利用代表兩條軌跡線的特征的中心線來替換,通過先替換距離大的軌跡線,縮小軌跡線特性線的范圍:從軌跡線分布稀疏到密集。最終確定出最具代表性的中心線,即特征線。
優(yōu)選實施例中,步驟二中,獲取該兩條軌跡線的中心線的方法為:
基于構(gòu)建三角網(wǎng),獲取該兩條軌跡線的中心線。
本實施方式是將軌跡線分成多個節(jié)點,每個節(jié)點與相鄰節(jié)點組成線段,通過判斷兩條軌跡線中的線段是否相交,構(gòu)建三角網(wǎng),求取構(gòu)建三角網(wǎng)的邊的中點,利用求取的中點,形成中心線。
優(yōu)選實施例中,基于三角網(wǎng),獲取該兩條軌跡線的中心線的方法包括:
步驟b1、判斷兩條軌跡線方向是否一致,如果一致,轉(zhuǎn)入步驟b2,如果不一致,則將其中一條軌跡線的點集反向排列,使兩條軌跡線方向一致;
步驟b2、順序獲取組成兩條軌跡線的點集分別為L1和L2,兩個點集中節(jié)點的數(shù)量分別為M和N:
步驟b3、連接兩條軌跡線的起始節(jié)點得到線段P11P21,將線段P11P21的中點作為中心線的起點,加入到中心線點集Lc中;
步驟b4、從線段P11P21開始,按順序取點集L1和L2中對應(yīng)的節(jié)點,構(gòu)建三角形,獲取中心線點:
步驟b41:以節(jié)點P1i、節(jié)點P2j為起點,取節(jié)點P1(i+1)、節(jié)點P2(j+1),判斷線段P1iP1(i+1)與線段P2jP2(j+1)是否相交,若不相交,轉(zhuǎn)入步驟b42;若相交,轉(zhuǎn)入步驟b43;
步驟b42:構(gòu)建三角形,比較線段P1iP2(j+1)與P2jP1(i+1)的長度,選擇長度較短的線段的中點加入到中心線點集Lc中,轉(zhuǎn)入步驟44;
步驟b43:根據(jù)兩線段交點Q,得到三角形P1iP2jQ與三角形QP1(i+1)P2(j+1),分別比較線段QP1i與QP2j、線段QP1(i+1)與QP2(j+1)的長度,將比較后較短線段在對應(yīng)較長線段上取點構(gòu)建等腰三角形,并把構(gòu)建的等腰三角形的底邊的中點加入到中心線點集Lc中,轉(zhuǎn)入步驟b44;
步驟b44:當(dāng)節(jié)點P1(i+1)參與構(gòu)建三角形獲得中點,使j=j(luò)+1,轉(zhuǎn)入步驟b41,當(dāng)節(jié)點P2(j+1)參與構(gòu)建三角形獲得中點,使i=i+1,轉(zhuǎn)入步驟b41,直至點集L1和L2中的節(jié)點都取完;
步驟b5、按加入中心線點集Lc的順序依次連接中心線點集Lc中的點,得到一條折線,即為兩條軌跡線的中心線。
本實施方式提供了,兩條軌跡線的線段相交和不相交兩種情況時,如何求對應(yīng)的中心線的點,在相交的情況下,通過構(gòu)建等腰三角形,求取等腰三角形的中點,作為中心線的組成部分,方法簡單,且計算量小,利用該方法獲取的中心線更能代表對應(yīng)兩條軌跡線的特征。
優(yōu)選實施例中,步驟b1中,判斷兩條軌跡線方向是否一致的方法為:
將軌跡線的起始節(jié)點指向終節(jié)點作為軌跡線的方向向量,兩條軌跡線方向向量分別為a和b,a和b的夾角為θ,若夾角θ的余弦值小于0,則方向不一致,否則方向一致,向量夾角θ余弦值為:
優(yōu)選實施例中,步驟一中,計算兩條軌跡線間的距離的方法包括:
步驟a1:順序獲取組成兩條軌跡線的點集分別為L1和L2,兩個點集中節(jié)點的數(shù)量分別為M和N:
步驟a2、依次計算L1中每一個節(jié)點P1i到L2中每一條線段P2jP2(j+1)的距離d1ij,其中i=1,2,…,M,j=1,2,…,N-1;
步驟a3:依次計算L2中每一個節(jié)點P2j到L1中每一條線段P1iP1(i+1)的距離d2ij,其中i=1,2,…,M-1,j=1,2,…,N;
步驟a4:根據(jù)下述公式,獲取兩條軌跡線間的距離D:
實施例:
一:獲取9條軌跡線組成的軌跡線組,如圖1所示,分別命名為L0、L1、L2、L3、L4、L5、L6、L7、L8;
二:按照上述軌跡線間距離計算方法,計算軌跡線組中兩兩軌跡線間的距離,計算結(jié)果為:
三、取距離最大的兩條軌跡先L3與L8,構(gòu)建三角網(wǎng),計算的中心線,記為L38。參照圖2,中心線計算方法如下:
1、判斷兩條軌跡線方向是否一致,計算得到cosθ>0,兩者方向一致,不用調(diào)整軌跡線節(jié)點順序;
2、連接P11與P21,取中點C1作為中心線的第一個節(jié)點。
3、線段P11P12與P21P22不相交,線段P21P12<P11P22,取P21P12的中點C2作為中心線的第二個節(jié)點;
4、P21與P12參與計算中點,因此取它們的下一節(jié)點P13、P22,線段P12P13與P21P22相交于點J1,J1P12<J1P21,作輔助點F1,滿足J1P12=J1F1,另外J1P22<J1P13,作輔助點F2,滿足J1P22=J1F2,于是P12F1中點、J1、P22F2中點分別為中心線的第3、4、5個節(jié)點C3、C4、C5。
5、P22參與計算,P13未參與計算,因此取節(jié)點P23、P13,線段P12P13與P22P23相交于點J2,J2F2<J2P22,作輔助點F3,滿足J2F2=J2F3,另外J2P23>J2P13,作輔助點F4,滿足J2P13=J2F4,于是F2F3中點、J2、P13F4中點分別為中心線的第6、7、8個節(jié)點C6、C7、C8。
6、依次類推,計算中心線上的節(jié)點,當(dāng)兩條線節(jié)點都到達(dá)末端時,將P24與P16中點作為中心線最后一個節(jié)點C17。
7、依次連接中心線節(jié)點C1,C2…,C17,得到L3與L8的中心線L38。
四、用L38替換軌跡線組中的L3與L8,計算L38與其他軌跡線(L0、L1、L2、L4、L5、L6、L7)的距離。
五、按照類似步驟三的方法計算距離最大的軌跡線中心線,類似步驟四的方法替換中心線,更新距離。如此迭代計算,直到軌跡線組只有兩條折線,則這兩條折線的中心線即為原軌跡線組的特征線,迭代計算過程如圖3所示,具體為:
S1、計算L3與L8中心線L38,替換軌跡線并更新距離;
S2、計算L1與L5中心線L15,替換軌跡線并更新距離;
S3、計算L6與L7中心線L67,替換軌跡線并更新距離;
S4、計算L0與L4中心線L04,替換軌跡線并更新距離;
S5、計算L15與L38中心線L15-38,替換軌跡線并更新距離;
S6、計算L04與L67中心線L04-67,替換軌跡線并更新距離;
S7、計算L04-67與L2中心線L04-67-2,替換軌跡線并更新距離;
S8、計算L15-38與L04-67-2中心線,得到軌跡線組的中心線
最后得到的特征線如附圖4所示。