軌跡線組特徵線提取方法與流程
2023-10-08 23:19:39 1

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