本發(fā)明涉及數(shù)據(jù)壓縮,尤其涉及一種基于角度和距離的軌跡線路壓縮方法、設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、在軌跡可視化應(yīng)用中,常常需要處理大量的軌跡點數(shù)據(jù)。隨著軌跡點數(shù)量的增加,渲染壓力也隨之增大,從而影響可視化性能。為了降低渲染壓力,提高性能,需要對軌跡線路點進行壓縮,減少冗余點的數(shù)量。
2、現(xiàn)有技術(shù)中,常見的軌跡壓縮方法包括doug?l?as-peucker算法和vi?sva?l?ingam-whyatt算法等。但是,這些算法主要基于點到線段的距離來選擇保留的點,在處理某些特定形狀的軌跡時,可能會導(dǎo)致壓縮后的軌跡失真較大,無法滿足實際需求。
技術(shù)實現(xiàn)思路
1、本發(fā)明所要解決的技術(shù)問題在于,提供一種基于角度和距離的軌跡線路壓縮方法、設(shè)備及存儲介質(zhì),可自適應(yīng)調(diào)整壓縮強度,最大限度地保留軌跡的整體形狀和特征。
2、為了解決上述技術(shù)問題,本發(fā)明提供了一種基于角度和距離的軌跡線路壓縮方法,包括:獲取軌跡點數(shù)組,所述軌跡點數(shù)組包括多個經(jīng)緯度坐標點;判斷所述軌跡點數(shù)組的長度是否小于預(yù)設(shè)長度閾值,判斷為是時,則將所述軌跡點數(shù)組作為目標數(shù)組,判斷為否時,根據(jù)相鄰經(jīng)緯度坐標點之間的距離及夾角從所述軌跡點數(shù)組中提取部分經(jīng)緯度坐標點,以形成目標數(shù)組。
3、作為上述方案的改進,所述根據(jù)相鄰經(jīng)緯度坐標點之間的距離及夾角從所述軌跡點數(shù)組中提取部分經(jīng)緯度坐標點,以形成目標數(shù)組的步驟包括:s1,構(gòu)建目標數(shù)組;s2,將所述軌跡點數(shù)組中的前兩個經(jīng)緯度坐標點加入所述目標數(shù)組中,并將所述軌跡點數(shù)組中的第一個經(jīng)緯度坐標點作為目標數(shù)組的起始點,將所述軌跡點數(shù)組中的第二個經(jīng)緯度坐標點作為目標數(shù)組的當前點;s3,從所述軌跡點數(shù)組中的第三個經(jīng)緯度坐標點開始依次遍歷所述軌跡點數(shù)組中的經(jīng)緯度坐標點;s4,將遍歷到的經(jīng)緯度坐標點作為關(guān)鍵點;s5,計算所述起始點與當前點之間的第一距離,并計算所述當前點與關(guān)鍵點之間的第二距離;s6,計算所述起始點與當前點之間的第一夾角,并計算所述當前點與關(guān)鍵點之間的第二夾角;s7,根據(jù)所述第一距離及第二距離計算角度閾值;s8,根據(jù)所述第一夾角與第二夾角的差的絕對值及所述角度閾值更新所述目標數(shù)組中的當前點,繼續(xù)遍歷下一個經(jīng)緯度坐標點并返回步驟s4,直至完成遍歷。
4、作為上述方案的改進,所述根據(jù)所述第一夾角與第二夾角的差的絕對值及所述角度閾值更新所述目標數(shù)組中的當前點的步驟包括:判斷所述第一夾角與第二夾角的差的絕對值是否小于所述角度閾值,判斷為是時,刪除所述目標數(shù)組中的當前點,判斷為否時,將所述目標數(shù)組中的當前點更新為起始點;將所述關(guān)鍵點加入到所述目標數(shù)組中并將所述關(guān)鍵點更新為當前點。
5、作為上述方案的改進,所述根據(jù)所述第一距離及第二距離計算角度閾值的步驟包括:當所述第一距離與第二距離之和不超過最小基準距離時,將所述角度閾值的數(shù)值設(shè)置為最大基準角度;當所述第一距離與第二距離之和大于最大基準距離時,將所述角度閾值的數(shù)值設(shè)置為最小基準角度;否則,根據(jù)所述第一距離、第二距離、最大基準距離及最大基準角度計算角度閾值,所述最小基準角度小于所述最大基準角度。
6、作為上述方案的改進,所述根據(jù)所述第一距離、第二距離、最大基準距離及最大基準角度計算角度閾值的步驟包括:根據(jù)公式h=(1-d/cmax)×hmax,計算所述角度閾值;其中,h為角度閾值,d為第一距離與第二距離之和,cmax為最大基準距離,hmax為最大基準角度。
7、作為上述方案的改進,所述基于角度和距離的軌跡線路壓縮方法還包括:當計算出的角度閾值的數(shù)值小于所述最小基準角度時,將所述角度閾值的數(shù)值修正為最小基準角度。
8、作為上述方案的改進,所述最大基準角度為80°~100°,所述最小基準角度為4°~6°,所述最小基準距離為8m~12m,所述最大基準距離為45m~55m。
9、作為上述方案的改進,通過vi?ncenty算法計算所述第一距離、第二距離、第一夾角及第二夾角。
10、相應(yīng)地,本發(fā)明還提供了一種計算機設(shè)備,包括存儲器和處理器,所述存儲器存儲有計算機程序,其中,所述處理器執(zhí)行所述計算機程序時實現(xiàn)上述基于角度和距離的軌跡線路壓縮方法的步驟。
11、相應(yīng)地,本發(fā)明還提供了一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,其中,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述基于角度和距離的軌跡線路壓縮方法的步驟。
12、實施本發(fā)明,具有如下有益效果:
13、本發(fā)明通過綜合考慮距離和角度變化,可以更加智能地選擇保留的點,減少冗余點的數(shù)量,提高壓縮效果;
14、本發(fā)明通過動態(tài)調(diào)整壓縮閾值,可以根據(jù)軌跡的不同特點,自適應(yīng)地調(diào)整壓縮強度,最大限度地保留軌跡的整體形狀和特征;
15、進一步,本發(fā)明通過有效減少軌跡點的數(shù)量,可以降低渲染壓力,提高軌跡可視化的性能。
1.一種基于角度和距離的軌跡線路壓縮方法,其特征在于,包括:
2.如權(quán)利要求1所述的基于角度和距離的軌跡線路壓縮方法,其特征在于,所述根據(jù)相鄰經(jīng)緯度坐標點之間的距離及夾角從所述軌跡點數(shù)組中提取部分經(jīng)緯度坐標點,以形成目標數(shù)組的步驟包括:
3.如權(quán)利要求2所述的基于角度和距離的軌跡線路壓縮方法,其特征在于,所述根據(jù)所述第一夾角與第二夾角的差的絕對值及所述角度閾值更新所述目標數(shù)組中的當前點的步驟包括:
4.如權(quán)利要求2所述的基于角度和距離的軌跡線路壓縮方法,其特征在于,所述根據(jù)所述第一距離及第二距離計算角度閾值的步驟包括:
5.如權(quán)利要求4所述的基于角度和距離的軌跡線路壓縮方法,其特征在于,所述根據(jù)所述第一距離、第二距離、最大基準距離及最大基準角度計算角度閾值的步驟包括:
6.如權(quán)利要求4所述的基于角度和距離的軌跡線路壓縮方法,其特征在于,還包括:
7.如權(quán)利要求4~6任一項所述的基于角度和距離的軌跡線路壓縮方法,其特征在于,所述最大基準角度為80°~100°,所述最小基準角度為4°~6°,所述最小基準距離為8m~12m,所述最大基準距離為45m~55m。
8.如權(quán)利要求2所述的基于角度和距離的軌跡線路壓縮方法,其特征在于,包括:通過vincenty算法計算所述第一距離、第二距離、第一夾角及第二夾角。
9.一種計算機設(shè)備,包括存儲器和處理器,所述存儲器存儲有計算機程序,其特征在于,所述處理器執(zhí)行所述計算機程序時實現(xiàn)權(quán)利要求1至8中任一項所述的方法的步驟。
10.一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時實現(xiàn)權(quán)利要求1至8中任一項所述的方法的步驟。