本發明涉及計算機技術及軟件領域,尤其涉及一種地理位置軌跡優化的方法和裝置。
背景技術:
地理位置軌跡通常是利用具有地理定位功能的設備(例如可以是gps(全球定位系統)設備,或者北斗導航設備)采集一系列戶外活動的位置點,每個位置點至少包括日期、時間、經度、緯度、海拔信息,有的軌跡記錄設備還包含速度等信息。隨著智能設備的普及,越來越多的人習慣于記錄并分享軌跡記錄。在此過程中,智能設備負責采集地理位置軌跡數據,采集到的地理位置信息數據經解析、平差、傳輸、存儲,最終應用到具體業務系統中。
受地理位置采集設備精度、干擾信號等因素的影響,原始獲取的地理位置軌跡數據中包含一些異常點和重復點,這些異常點和重復點的存在會影響到地理位置軌跡數據的網絡傳輸、存儲以及后期的分析。
具體而言:
一、受采集設備周邊環境(如水面、高大建筑物等)的影響,地理位置采集設備的精度下降,地理位置軌跡點與正常軌跡偏離距離大;另外,由于可見衛星數量少等的原因會造成一些地理位置信息不可用、不合法,如此,造成收集的地理位置軌跡數據中異常點較多;
二、地理位置軌跡點通常可以按照每隔一個時間段,記錄一次軌跡點的方式進行采集,當地理位置采集設備在某一個點或者區域長時間停留時,會造成在同一個地點或者點附近產生大量的重復點。在智能采集設備中,地理位置軌跡信息數據大多在gprs/wifi等網絡環境 下進行傳輸,重復點的存在會導致傳輸的數據成倍增多,網絡傳輸壓力加大;此外,大量重復點的存在還會造成磁盤存儲成倍增加,影響到數據的查詢和檢索效率。
技術實現要素:
有鑒于此,本發明提供一種地理位置軌跡優化的方法和裝置,能夠去除軌跡中的異常點;此外,還可以通過軌跡壓縮的方式去除軌跡中的重復點,達到減少網絡傳輸壓力、節約磁盤存儲空間的目的。
為實現上述目的,根據本發明的一個方面,提供了一種地理位置軌跡優化的方法。
本發明的地理位置軌跡優化的方法包括:獲取地理位置原始軌跡數據;去除所述地理位置原始軌跡數據中的異常點,以得到地理位置去異常點軌跡;壓縮所述地理位置去異常點軌跡,以得到地理位置優化軌跡。
可選地,所述獲取地理位置原始軌跡數據包括:按預設時間間隔采集地理位置軌跡點的坐標,將所述地理位置軌跡點的坐標排序以得到地理位置原始軌跡數據,所述地理位置軌跡點的坐標包括經度、緯度、時間信息。
可選地,所述方法還包括:獲取地理位置原始軌跡數據后,將所述地理位置原始軌跡數據臨時存儲在地理位置采集設備的本地數據庫中。
可選地,所述去除所述地理位置原始軌跡數據中的異常點包括:去除相鄰點之間的移動距離大于最大行進距離的異常點。
可選地,所述去除所述地理位置原始軌跡數據中的異常點包括: 去除相鄰點的歐式距離大于兩點之間路網距離的異常點。
可選地,所述壓縮所述地理位置去異常點軌跡包括:利用軌跡壓縮算法,保留與軌跡方向的偏離值大于預設閾值的特征點,將這些特征點組成的軌跡作為地理位置優化軌跡。
為達上述目的,根據本發明的另一方面,提供一種地理位置軌跡優化的裝置。
本發明的地理位置軌跡優化的裝置包括:獲取模塊,用于獲取地理位置原始軌跡數據;去除異常點模塊,用于去除所述地理位置原始軌跡數據中的異常點,以得到地理位置去異常點軌跡;軌跡壓縮模塊,用于壓縮所述地理位置去異常點軌跡,以得到地理位置優化軌跡。
可選地,所述獲取模塊還用于:按預設時間間隔采集地理位置軌跡點的坐標,將所述地理位置軌跡點的坐標排序以得到地理位置原始軌跡數據,所述地理位置軌跡點的坐標包括經度、緯度、時間信息。
可選地,所述裝置還包括:臨時存儲模塊,用于獲取地理位置原始軌跡數據后,將所述地理位置原始軌跡數據臨時存儲在地理位置采集設備的本地數據庫中。
可選地,所述去除異常點模塊還用于:去除相鄰點之間的移動距離大于最大行進距離的異常點。
可選地,所述去除異常點模塊還用于:去除相鄰點的歐式距離大于兩點之間路網距離的異常點。
可選地,所述軌跡壓縮模塊還用于:利用軌跡壓縮算法,保留與軌跡方向的偏離值大于預設閾值的特征點,將這些特征點組成的軌跡 作為地理位置優化軌跡。
根據本發明的技術方案,通過去除原始軌跡中的異常點,從而可以為后續數據挖掘行為提供有力的數據保障;通過寬嚴不同異常點檢測標準,從而可以滿足異常點去除的不同精度要求;通過利用軌跡壓縮對重復點進行剔除,從而可以在保留特征點的基礎上,最大限度壓縮數據總量,減少網絡傳輸壓力、節省磁盤存儲的空間;通過在獲取到地理位置軌跡數據后,將獲取的數據臨時存儲到本地sqlite中,從而可以在占用較少內置存儲空間的情況下實現對地理位置軌跡數據的優化處理。
附圖說明
附圖用于更好地理解本發明,不構成對本發明的不當限定。其中:
圖1是根據本發明實施例的地理位置軌跡優化的方法的主要步驟的示意圖;
圖2是根據本發明實施例的地理位置軌跡優化的裝置的主要模塊的示意圖。
具體實施方式
以下結合附圖對本發明的示范性實施例做出說明,其中包括本發明實施例的各種細節以助于理解,應當將它們認為僅僅是示范性的。因此,本領域普通技術人員應當認識到,可以對這里描述的實施例做出各種改變和修改,而不會背離本發明的范圍和精神。同樣,為了清楚和簡明,以下的描述中省略了對公知功能和結構的描述。
圖1是根據本發明實施例的地理位置軌跡優化的方法的主要步驟的示意圖。
如圖1所示,本發明實施例的地理位置軌跡優化的方法主要包括如下步驟:
步驟s11:獲取地理位置原始軌跡數據。要對地理位置軌跡進行優化,首先需要先獲取地理位置原始軌跡數據。
地理位置軌跡通常是利用具有地理定位功能的設備(例如可以是gps(全球定位系統)設備,或者北斗導航設備進行采集。在本發明實施方式中,利用gps設備進行地理位置數據的采集。地理位置軌跡采集主要有兩種方式,按照時間間隔或按照距離間隔。本發明技術方案中,為了方便進行數據分析和軌跡優化,地理位置軌跡數據的采集可以按照時間間隔進行。具體而言,按照預設時間間隔采集地理位置軌跡點的坐標,將所述地理位置軌跡點的坐標按照時間序列進行排序以得到地理位置原始軌跡數據記錄,,所述地理位置軌跡點的坐標包括經度、緯度、時間信息。鑒于本發明實施方式中利用gps設備進行地理位置數據的采集,因此也可將獲得的軌跡數據稱為gps軌跡數據。
在本發明實施方式中,智能采集設備按照預設的時間間隔(該時間間隔可以根據采集的需要進行設定,如15s)采集地理位置軌跡點坐標,并且可將地理位置軌跡點坐標臨時存儲在地理位置采集設備的本地數據庫,在本發明實施方式中,臨時存儲在智能設備的本地sqlite(sqlite,是一款輕型的數據庫,是遵守acid的關系型數據庫管理系統,它包含在一個相對小的c庫中。它是d.richardhipp建立的公有領域項目。它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它占用資源非常的低,在嵌入式設備中,可能只需要幾百k的內存就夠了)中。
本發明實施例中,將地理位置原始軌跡數據進行臨時存儲是為了減少對智能設備系統的存儲空間的占用。因為目前進行地理位置采集的智能終端大多是wince系統,內置存儲空間比較小。將地理位置軌跡點的坐標數據臨時存儲在智能設備本地的sqlite中,可以在地理位置軌跡優化完成并成功傳輸后,將本地數據進行刪除。且在智能設備中去維護sqlite中數據的刪除,一般是不會導致數據的丟失。
經過以上操作,地理位置原始軌跡數據已經獲得并存儲,接下來從步驟s12進行處理。
步驟s12:去除地理位置原始軌跡數據中的異常點,以得到地理位置去異常點軌跡。
上述步驟中,已經獲取了地理位置原始軌跡數據,從本步驟開始,對原始軌跡數據進行優化處理。優化的過程主要包括去除異常點和軌跡壓縮(即去除重復點)。本步驟s12的主要目的是去除地理位置原始軌跡中的異常點。去除異常點,主要是去除地理位置軌跡點中與正常軌跡偏離距離過大的異常點。
假設一個地理位置原始軌跡序列為t{p1,p2,…,pk},每個點p(lat,lngt,t)是一個軌跡點,其中lat、lngt和t分別表示記錄的軌跡點的緯度、經度和時間信息。依據常識,序列t中相鄰點的移動距離應小于最大行進距離,因此,將相鄰點之間的移動距離大于最大行進距離的點識別為異常點,予以去除。在另一實施例中,為了在保證結果正確性的前提下使計算簡便,加快檢測效率,避免嚴格的計算公式耗時、耗資源,可以適當放寬檢測標準為:去除相鄰點歐式距離大于兩點之間路網距離的異常點。
上述描述中,四個距離分別為:
1、相鄰點之間的移動距離:兩點之間的地理距離(地球曲面地理距離),考慮地球曲面因素;
2、最大行進距離:由起始點到終點的路網距離總和;
3、相鄰點的歐氏距離:數學概念上的兩點之間的距離,不考慮地球曲面因素;
4、兩點間的路網距離:相鄰兩點之間沿著路網的距離總和;
本發明具體實施方式中,去除相鄰點歐式距離大于兩點之間路網距離的異常點,可以利用0<d(pi+1,pi)/(pi+1.t,pi.t)<vmax1的公式進行異常點計算。其中,pi+1代表i+1點的位置,pi+1.t代表i+1點的時間,d(pi+1,pi)為點pi和pi+1間的歐氏距離,(pi+1.t,pi.t)代表兩點之間的時間差,兩者相除代表兩點之間在一段時間內的時速,vmax1為用戶的最大移動速度,本文設置vmax1為160km/h。以一定時間內的速度大小反映用戶移動的距離大小。正常情況下,相鄰點歐氏距離小于兩點間的路網距離,利用上述公式將不符合相鄰點歐氏距離小于兩點間的路網距離的異常點予以去除。
利用相鄰點的歐氏距離與兩點之間路網距離的大小去除異常點的具體計算過程如下:
1、將數據序列的第一點定義為起始點,將起始點下一點定義為相鄰點;
2、將起始點和相鄰點參與0<d(pi+1,pi)/(pi+1.t,pi.t)<vmax1計算,本發明一實施例中,取vmax1=160km/h;
3、如果起始點到相鄰點的時速滿足條件2,則存儲下來,若不滿足,則去除;
4、將相鄰點作為起始點,將相鄰點后的點作為相鄰點,返回第二步,如此循環,則存儲的點構成軌跡,即為剔除異常點后的軌跡。
通過上述步驟,可以去除地理位置原始軌跡中的異常點,得到地理位置去異常點軌跡。
步驟s13:壓縮地理位置去異常點軌跡,以得到地理位置優化軌跡。
地理位置軌跡優化的另一重要處理是壓縮地理位置去異常點軌跡。本發明實施例中,軌跡壓縮的過程包括:確定軌跡的大致方向,然后計算所有序列點在該方向的偏離值,偏離值大于預設閾值的即認定為軌跡特征點,將這些特征點組成的軌跡作為地理位置優化軌跡。
軌跡壓縮過程中,預設閾值的計算標準依實際優化精度需求而定,與采集設備的地理位置精度、運行軌跡的速度、采集軌跡的時間間隔、統計數據下的相鄰兩點距離等因素有關。
在本發明實施方式中,軌跡壓縮算法的具體步驟如下所述:
1、將數據序列的第一點定義為起始點,最后一個點設為浮動點;
2、計算其他數據點到起始點與浮動點間連線的垂直距離,找到距離最大的點;
3、如果最大距離大于給定的閾值,則原線段分割為2部分,最大距離點變為前一線段的浮動點,同時為后一段線段的起始點,存儲改最大距離點;
4、返回第2步,如此循環,直到所有距離均小于閾值,則所存儲的點構成軌跡,即為壓縮后的軌跡。
將壓縮后得到的所有軌跡特征點進行存儲、數據壓縮。經過壓縮后的地理位置軌跡一方面保留了特征點,另一方面又最大限度的減少了數據冗余。
至此,地理位置軌跡優化完成。
根據本發明實施例的地理位置軌跡優化方案可以看出,通過去除原始軌跡中的異常點,從而可以為后續數據挖掘行為提供有力的數據保障;通過寬嚴不同異常點檢測標準,從而可以滿足異常點去除的不同精度要求;通過利用軌跡壓縮對重復點進行剔除,從而可以在保留特征點的基礎上,最大限度壓縮數據總量,減少網絡傳輸壓力、節省磁盤存儲的空間;通過在獲取到地理位置軌跡數據后,將獲取的數據臨時存儲到本地sqlite中,從而可以在占用較少內置存儲空間的情況下實現對地理位置軌跡數據的優化處理。
圖2是根據本發明實施例的地理位置軌跡優化的裝置的主要模塊的示意圖。
如圖2所示,本發明實施例的地理位置軌跡優化的裝置20主要包括如下模塊:獲取模塊201、去除異常點模塊202以及軌跡壓縮模塊203。
獲取模塊201用于獲取地理位置原始軌跡數據;去除異常點模塊202用于去除地理位置原始軌跡數據中的異常點,以得到地理位置去異常點軌跡;軌跡壓縮模塊203用于壓縮地理位置去異常點軌跡,以得到地理位置優化軌跡。
獲取模塊201還可以用于:按預設時間間隔采集地理位置軌跡點的坐標,將地理位置軌跡點的坐標排序以得到地理位置原始軌跡數據,地理位置軌跡點的坐標包括經度、緯度、時間信息。
裝置20還可包括:臨時存儲模塊(圖中未視出)用于獲取地理位置原始軌跡數據后,將地理位置原始軌跡數據臨時存儲在本地數據庫中。
去除異常點模塊202還可以用于:去除相鄰點之間的移動距離大于最大行進距離的異常點。
去除異常點模塊202還可以用于:去除相鄰點的歐式距離大于兩點之間路網距離的異常點。
軌跡壓縮模塊203還可用于:利用軌跡壓縮算法,保留與軌跡方向的偏離值大于預設閾值的特征點,將這些特征點組成的軌跡作為地理位置優化軌跡。
從以上描述可以看出,通過去除原始軌跡中的異常點,從而可以為后續數據挖掘行為提供有力的數據保障;通過寬嚴不同異常點檢測標準,從而可以滿足異常點去除的不同精度要求;通過利用軌跡壓縮對重復點進行剔除,從而可以在保留特征點的基礎上,最大限度壓縮數據總量,減少網絡傳輸壓力、節省磁盤存儲的空間;通過在獲取到地理位置軌跡數據后,將獲取的數據臨時存儲到本地sqlite中,從而可以在占用較少內置存儲空間的情況下實現對地理位置軌跡數據的優化處理。
上述具體實施方式,并不構成對本發明保護范圍的限制。本領域技術人員應該明白的是,取決于設計要求和其他因素,可以發生各種各樣的修改、組合、子組合和替代。任何在本發明的精神和原則之內所作的修改、等同替換和改進等,均應包含在本發明保護范圍之內。