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