一種車輛歷史行駛軌跡的回放方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明實施例提供了一種車輛歷史行駛軌跡的回放方法和系統(tǒng),以解決目前的車輛歷史行駛軌跡回放方法計算和渲染行駛軌跡的時間較長,并且得到的行駛軌跡不準確的問題。本發(fā)明實施例中服務(wù)器并不是將所有軌跡數(shù)據(jù)都返回給客戶端,而是通過服務(wù)器對軌跡數(shù)據(jù)進行分段,刪除其中的錯誤數(shù)據(jù),從而保證將正確的數(shù)據(jù)返回給客戶端,因此,根據(jù)這些數(shù)據(jù)生成的行駛軌跡更加準確;并且返回的數(shù)據(jù)量較小,從而可以節(jié)省客戶端計算和渲染行駛軌跡的時間。
【專利說明】一種車輛歷史行駛軌跡的回放方法和系統(tǒng)【技術(shù)領(lǐng)域】
[0001]本發(fā)明實施例涉及智能交通【技術(shù)領(lǐng)域】,特別是涉及一種車輛歷史行駛軌跡的回放方法和系統(tǒng)。
【背景技術(shù)】
[0002]為了更加清楚地了解車輛的歷史行駛情況,一般可以通過車輛行駛記錄儀記錄車輛在行駛過程中的行駛速度、時間、里程,以及有關(guān)車輛行駛的其他狀態(tài)信息。當需要查詢車輛的歷史行駛軌跡時,可以通過對車輛行駛記錄儀上報的行駛數(shù)據(jù)進行分析,以得出車輛的歷史行駛軌跡,并對該軌跡進行回放。
[0003]但是,目前在進行車輛歷史行駛軌跡的回放時,一次要查詢所有的行駛數(shù)據(jù)并進行播放,數(shù)據(jù)量較大,計算和渲染行駛軌跡的時間較長;另外,這些行駛數(shù)據(jù)中可能會存在一些由于行駛記錄儀上報的車輛位置誤差以及行駛記錄儀開、關(guān)而導(dǎo)致的錯誤數(shù)據(jù),因此,上述方法得到的行駛軌跡不準確。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實施例所要解決的技術(shù)問題是提供一種車輛歷史行駛軌跡的回放方法和系統(tǒng),以解決目前的車輛歷史行駛軌跡回放方法計算和渲染行駛軌跡的時間較長,并且得到的行駛軌跡不準確的問題。
[0005]為了解決上 述問題,本發(fā)明公開了一種車輛歷史行駛軌跡的回放方法,其特征在于,包括:
[0006]服務(wù)器接收針對歷史行駛數(shù)據(jù)的獲取請求,所述獲取請求包括行駛條件;
[0007]服務(wù)器獲取滿足所述行駛條件的行駛數(shù)據(jù),所述行駛數(shù)據(jù)包括軌跡數(shù)據(jù)和事件數(shù)據(jù);
[0008]服務(wù)器判斷所述軌跡數(shù)據(jù)中是否存在錯誤數(shù)據(jù),當存在錯誤數(shù)據(jù)時,刪除所述錯誤數(shù)據(jù),對所述軌跡數(shù)據(jù)進行分段;
[0009]服務(wù)器將分段后的軌跡數(shù)據(jù)和所述事件數(shù)據(jù)返回給客戶端;
[0010]客戶端緩存分段后的軌跡數(shù)據(jù)和事件數(shù)據(jù),生成車輛歷史行駛軌跡;
[0011 ] 客戶端播放所述車輛歷史行駛軌跡。
[0012]可選地,所述軌跡數(shù)據(jù)包括多個軌跡點、每個軌跡點的上報時間和每個軌跡點的里程值,其中,所述軌跡點按照上報時間排序,
[0013]所述服務(wù)器判斷所述軌跡數(shù)據(jù)中是否存在錯誤數(shù)據(jù),包括:
[0014]從第一個軌跡點開始,依次計算相鄰的兩個軌跡點的里程值的差值,得到兩個軌跡點之間的距離間隔Si ;
[0015]計算所述相鄰的兩個軌跡點的上報時間的時間間隔tl ;
[0016]將所述時間間隔tl與預(yù)設(shè)的車速閾值相乘,得到行駛距離s2 ;
[0017]計算所述距離間隔Si和所述行駛距離s2的差值;[0018]當所述差值大于預(yù)設(shè)的距離閾值時,確定所述軌跡數(shù)據(jù)中存在錯誤數(shù)據(jù),并將滿足所述差值大于預(yù)設(shè)的距離閾值的兩個軌跡點作為錯誤數(shù)據(jù)。
[0019]可選地,所述軌跡數(shù)據(jù)包括多個軌跡點和每個軌跡點的位置信息,所述事件數(shù)據(jù)包括事件發(fā)生的位置信息,
[0020]所述客戶端緩存分段后的軌跡數(shù)據(jù)和事件數(shù)據(jù),生成車輛歷史行駛軌跡,包括:
[0021]根據(jù)分段后的軌跡數(shù)據(jù)中每個軌跡點的位置信息在地圖上分段渲染車輛歷史行駛軌跡;
[0022]將所述事件數(shù)據(jù)渲染為事件列表,所述事件列表中包括一個或多個事件數(shù)據(jù);
[0023]針對事件列表中的每個事件數(shù)據(jù),按照事件發(fā)生的位置信息將所述事件數(shù)據(jù)顯示在所述車輛歷史行駛軌跡上。
[0024]可選地,所述播放所述車輛歷史行駛軌跡,包括:
[0025]在所述車輛歷史行駛軌跡上定位車輛圖標,并以預(yù)設(shè)的時間間隔更新車輛圖標在所述車輛歷史行駛軌跡上的位置。
[0026]可選地,所述方法還包括:
[0027]客戶端當接收到播放控制指令時,依據(jù)所述播放控制指令播放所述車輛歷史行駛軌跡;
[0028]其中,所述播放控制指令包括以下任意一種:暫停、停止、加速和減速。
[0029]另一方面,本發(fā)明還公開了一種車輛歷史行駛軌跡的回放系統(tǒng),其特征在于,包括:客戶端和服務(wù)器,其中,
[0030]服務(wù)器包括:
[0031]接收模塊,用于接收針對歷史行駛數(shù)據(jù)的獲取請求,所述獲取請求包括行駛條件;
[0032]獲取模塊,用于獲取滿足所述行駛條件的行駛數(shù)據(jù),所述行駛數(shù)據(jù)包括軌跡數(shù)據(jù)和事件數(shù)據(jù);
[0033]分段模塊,用于判斷所述軌跡數(shù)據(jù)中是否存在錯誤數(shù)據(jù),當存在錯誤數(shù)據(jù)時,刪除所述錯誤數(shù)據(jù),對所述軌跡數(shù)據(jù)進行分段;
[0034]返回模塊,用于將分段后的軌跡數(shù)據(jù)和所述事件數(shù)據(jù)返回給客戶端;
[0035]客戶端包括:
[0036]生成模塊,用于緩存分段后的軌跡數(shù)據(jù)和事件數(shù)據(jù),生成車輛歷史行駛軌跡;
[0037]播放模塊,用于播放所述車輛歷史行駛軌跡。
[0038]可選地,所述軌跡數(shù)據(jù)包括多個軌跡點、每個軌跡點的上報時間和每個軌跡點的里程值,其中,所述軌跡點按照上報時間排序,
[0039]所述分段模塊包括:
[0040]距離計算子模塊,用于從第一個軌跡點開始,依次計算相鄰的兩個軌跡點的里程值的差值,得到兩個軌跡點之間的距離間隔Si ;
[0041]時間計算子模塊,用于計算所述相鄰的兩個軌跡點的上報時間的時間間隔tl ;
[0042]相乘子模塊,用于將所述時間間隔tl與預(yù)設(shè)的車速閾值相乘,得到行駛距離s2 ;
[0043]差值計算子模塊,用于計算所述距離間隔Si和所述行駛距離s2的差值;
[0044]確定子模塊,用于當所述差值大于預(yù)設(shè)的距離閾值時,確定所述軌跡數(shù)據(jù)中存在錯誤數(shù)據(jù),并將滿足所述差值大于預(yù)設(shè)的距離閾值的兩個軌跡點作為錯誤數(shù)據(jù)。
[0045]可選地,所述軌跡數(shù)據(jù)包括多個軌跡點和每個軌跡點的位置信息,所述事件數(shù)據(jù)包括事件發(fā)生的位置信息,
[0046]所述生成模塊包括:
[0047]軌跡渲染子模塊,用于根據(jù)分段后的軌跡數(shù)據(jù)中每個軌跡點的位置信息在地圖上分段渲染車輛歷史行駛軌跡;
[0048]事件渲染子模塊,用于將所述事件數(shù)據(jù)渲染為事件列表,所述事件列表中包括一個或多個事件數(shù)據(jù);
[0049]顯示子模塊,用于針對事件列表中的每個事件數(shù)據(jù),按照事件發(fā)生的位置信息將所述事件數(shù)據(jù)顯示在所述車輛歷史行駛軌跡上。
[0050]可選地,所述播放模塊在所述車輛歷史行駛軌跡上定位車輛圖標,并以預(yù)設(shè)的時間間隔更新車輛圖標在所述車輛歷史行駛軌跡上的位置。
[0051]可選地,所述客戶端還包括:
[0052]控制模塊,用于當接收到播放控制指令時,依據(jù)所述播放控制指令播放所述車輛歷史行駛軌跡;
[0053]其中,所述播放控制指令包括以下任意一種:暫停、停止、加速和減速。
[0054]與現(xiàn)有技術(shù)相比,本發(fā)明實施例包括以下優(yōu)點:
[0055]本發(fā)明實施例中服務(wù)器在接收到針對歷史行駛數(shù)據(jù)的獲取請求之后,獲取滿足所述行駛條件的行駛數(shù)據(jù),并且進一步判斷所述軌跡數(shù)據(jù)中是否存在錯誤數(shù)據(jù),當存在錯誤數(shù)據(jù)時,刪除所述錯誤數(shù)據(jù),對所述軌跡數(shù)據(jù)進行分段,最后將分段后的軌跡數(shù)據(jù)和所述事件數(shù)據(jù)返回給客戶端,客戶端即可緩存分段后的軌跡數(shù)據(jù)和事件數(shù)據(jù),生成車輛歷史行駛軌跡,并播放所述車輛歷史行駛軌跡。
[0056]本發(fā)明實施例中服務(wù)器并不是將所有軌跡數(shù)據(jù)都返回給客戶端,而是通過服務(wù)器對軌跡數(shù)據(jù)進行分段,刪除其中的錯誤數(shù)據(jù),從而保證將正確的數(shù)據(jù)返回給客戶端,因此,根據(jù)這些數(shù)據(jù)生成的行駛軌跡更加準確;并且返回的數(shù)據(jù)量較小,從而可以節(jié)省客戶端計算和渲染行駛軌跡的時間。
【專利附圖】
【附圖說明】
[0057]圖1是本發(fā)明實施例一所述的一種車輛歷史行駛軌跡的回放方法的流程圖;
[0058]圖2是本發(fā)明實施例一所述的車輛歷史行駛軌跡的播放示意圖;
[0059]圖3是本發(fā)明實施例一所述的車輛歷史行駛軌跡中事件的示意圖;
[0060]圖4是本發(fā)明實施例二所述的一種車輛歷史行駛軌跡的回放系統(tǒng)的結(jié)構(gòu)框圖。
【具體實施方式】
[0061]為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和【具體實施方式】對本發(fā)明作進一步詳細的說明。
[0062]實施例一:
[0063]參照圖1,示出了本發(fā)明實施例一所述的一種車輛歷史行駛軌跡的回放方法的流程圖,所述方法可以包括:[0064]步驟100,服務(wù)器接收針對歷史行駛軌跡數(shù)據(jù)的獲取請求,所述獲取請求包括行駛條件。
[0065]本發(fā)明實施例中,可以通過車輛行駛記錄儀記錄車輛在行駛過程中的行駛速度、時間、里程,以及有關(guān)車輛行駛的其他狀態(tài)信息,車輛行駛記錄儀可以將這些信息作為車輛歷史行駛數(shù)據(jù)上報至服務(wù)器。
[0066]當客戶端向服務(wù)器發(fā)起針對歷史行駛軌跡數(shù)據(jù)的獲取請求之后,服務(wù)器即可依據(jù)所述獲取請求獲取對應(yīng)的行駛數(shù)據(jù)。
[0067]本發(fā)明實施例中,所述獲取請求可以包括行駛條件,當希望查看車輛的歷史行駛軌跡時,可以在客戶端輸入行駛條件,然后客戶端根據(jù)該行駛條件向服務(wù)器發(fā)起獲取請求。
[0068]在所述行駛數(shù)據(jù)中包括了車輛的行駛時間信息,因此,在本發(fā)明實施例中所述行駛條件可以為起止時間,即希望查看哪個時間段中的歷史行駛軌跡,例如所述行駛條件可以為2012/12/26 12:00:00-2012/12/27 12:00:00。當然,所述行駛條件還可以為其他信息,例如起止地點,本發(fā)明實施例對此并不加以限制。
[0069]步驟102,服務(wù)器獲取滿足所述行駛條件的行駛數(shù)據(jù),所述行駛數(shù)據(jù)包括軌跡數(shù)據(jù)和事件數(shù)據(jù)。
[0070]服務(wù)器在接收到客戶端發(fā)起的獲取請求之后,即可依據(jù)所述獲取請求中的行駛條件從車輛行駛記錄儀上報的行駛數(shù)據(jù)中獲取滿足所述行駛條件的行駛數(shù)據(jù)。
[0071]例如,如果所述行駛條件為起止時間(例如2012/12/2612:00:00-2012/12/2712:00:00),則服務(wù)器即可從車輛行駛記錄儀上報的行駛數(shù)據(jù)中獲取2012/12/2612:00:00-2012/12/27 12:00:00 這一天內(nèi)的行駛數(shù)據(jù)。
[0072]本發(fā)明實施例中,所述行駛數(shù)據(jù)可以包括軌跡數(shù)據(jù)和事件數(shù)據(jù),依據(jù)所述軌跡數(shù)據(jù)可以得到車輛的歷史行駛軌跡,依據(jù)所述事件數(shù)據(jù)可以得知車輛歷史行駛過程中所發(fā)生的事件。
[0073]其中,所述軌跡數(shù)據(jù)可以包括:多個軌跡點、每個軌跡點的上報時間、每個軌跡點的里程值、每個軌跡點的位置信息,以及每個軌跡點對應(yīng)的車速、方向、轉(zhuǎn)速,等等。
[0074]所述事件數(shù)據(jù)可以包括:事件發(fā)生的位置信息(例如經(jīng)緯度信息)、事件類型(如停車、告警、熄火、啟動等)、事件發(fā)生的時間、事件的處理級別(處理級別可以依據(jù)事件的特性設(shè)定的,比如把告警設(shè)定為比較高的級別,則該類事件在顯示時會使用更為醒目的圖標),等等。
[0075]步驟104,服務(wù)器判斷所述軌跡數(shù)據(jù)中是否存在錯誤數(shù)據(jù),當存在錯誤數(shù)據(jù)時,刪除所述錯誤數(shù)據(jù),對所述軌跡數(shù)據(jù)進行分段。
[0076]服務(wù)器在獲取到滿足所述行駛條件的行駛數(shù)據(jù)之后,并不是直接將所有的行駛數(shù)據(jù)返回給客戶端,而是可以進一步對其中的軌跡數(shù)據(jù)進行處理,判斷所述軌跡數(shù)據(jù)中是否存在錯誤數(shù)據(jù),當存在錯誤數(shù)據(jù)時,刪除所述錯誤數(shù)據(jù),對所述軌跡數(shù)據(jù)進行分段。
[0077]本發(fā)明實施例中,所述軌跡數(shù)據(jù)中的軌跡點可以按照上報時間排序,例如,可以將上報時間早的軌跡點排在前面,將上報時間晚的軌跡點排在后面。
[0078]該步驟104中所述服務(wù)器判斷所述軌跡數(shù)據(jù)中是否存在錯誤數(shù)據(jù)的過程可以包括:
[0079]al,從第一個軌跡點開始,依次計算相鄰的兩個軌跡點的里程值的差值,得到兩個軌跡點之間的距離間隔Si。
[0080]該過程中可以用相鄰的兩個軌跡點中后一個軌跡點的里程值減去前一個軌跡點的里程值,得到兩點間的距離間隔Si。
[0081 ] a2,計算所述相鄰的兩個軌跡點的上報時間的時間間隔11。
[0082]該過程中可以用相鄰的兩個軌跡點中后一個軌跡點的上報時間減去前一個軌跡點的上報時間,得到兩點間的時間間隔11。
[0083]a3,將所述時間間隔tl與預(yù)設(shè)的車速閾值相乘,得到行駛距離s2。
[0084]本發(fā)明實施例中,可以設(shè)置一個車速閾值,該車速閾值可以為理論上的最大車速,然后將所述時間間隔tl與所述車速閾值相乘之后,得到的行駛距離s2即可認為是理論上在時間tl內(nèi)可能行駛的最大距離。
[0085]對于上述的車速閾值,本領(lǐng)域技術(shù)人員根據(jù)實際經(jīng)驗進行相關(guān)處理即可,例如可以設(shè)置為120km/h,本發(fā)明實施例對此并不加以限制。
[0086]a4,計算所述距離間隔Si和所述行駛距離s2的差值。
[0087]a5,當所述差值大于預(yù)設(shè)的距離閾值時,確定所述軌跡數(shù)據(jù)中存在錯誤數(shù)據(jù),并將滿足所述差值大于預(yù)設(shè)的距離閾值的兩個軌跡點作為錯誤數(shù)據(jù)。
[0088]本發(fā)明實施例中,還可以設(shè)置一個距離閾值,該距離閾值可以為所述距離間隔Si和所述行駛距離s2之間的一個誤差范圍,如果超出了該誤差范圍,則可以認為其不符合實際。
[0089]對于上述的距離閾值,本領(lǐng)域技術(shù)人員根據(jù)實際經(jīng)驗進行相關(guān)處理即可,本發(fā)明實施例對此并不加以限制。
[0090]因此,本發(fā)明實施例中當所述距離間隔Si和所述行駛距離s2的差值小于或等于預(yù)設(shè)的距離閾值時,則可以認為對應(yīng)的軌跡點為可信數(shù)據(jù);當所述差值大于預(yù)設(shè)的距離閾值時,則可以確定所述軌跡數(shù)據(jù)中存在錯誤數(shù)據(jù),并可以將滿足所述差值大于預(yù)設(shè)的距離閾值的兩個軌跡點作為錯誤數(shù)據(jù)。
[0091]本發(fā)明實施例中,為了使最后得到的車輛歷史行駛軌跡更加準確,當所述軌跡數(shù)據(jù)中存在錯誤數(shù)據(jù)時,可以刪除所述錯誤數(shù)據(jù),對所述軌跡數(shù)據(jù)進行分段。
[0092]上述錯誤數(shù)據(jù)有可能是因為一段時間內(nèi)車輛行駛記錄儀故障而導(dǎo)致沒有上報數(shù)據(jù),這樣的數(shù)據(jù)如果不刪除,即不進行分段,在客戶端展示時就會出現(xiàn)兩個相聚較遠的點突兀的有連線,車輛不是行駛在路上(比如直接跨域一片樓房)。分段的作用就是在兩個軌跡點之間的數(shù)據(jù)沒有上報或誤差較大時,合理的分割,從而消除上報數(shù)據(jù)的一些誤差和跳點(跳點可以指上報數(shù)據(jù)的位置信息相隔較大,在合理時間和車速條件下不可能行駛那么大的距離),以便客戶端展示的更合理。
[0093]步驟106,服務(wù)器將分段后的軌跡數(shù)據(jù)和所述事件數(shù)據(jù)返回給客戶端。
[0094]服務(wù)器在經(jīng)過上述步驟104對軌跡數(shù)據(jù)進行分段之后,即可以將分段后的軌跡數(shù)據(jù)和所述事件數(shù)據(jù)返回給客戶端。
[0095]由于分段后的軌跡數(shù)據(jù)中刪除了錯誤數(shù)據(jù),從而分段后的軌跡數(shù)據(jù)可以更加準確地描述車輛的行駛軌跡;并且,刪除了錯誤數(shù)據(jù)之后的軌跡數(shù)據(jù)的數(shù)據(jù)量較小,因此可以降低客戶端計算和渲染行駛軌跡的時間。
[0096]步驟108,客戶端緩存分段后的軌跡數(shù)據(jù)和事件數(shù)據(jù),生成車輛歷史行駛軌跡。[0097]本發(fā)明實施例中,客戶端在接收到服務(wù)器返回的分段后的軌跡數(shù)據(jù)和事件數(shù)據(jù)之后,即可緩存分段后的軌跡數(shù)據(jù)和事件數(shù)據(jù),并且依據(jù)所述軌跡數(shù)據(jù)和事件數(shù)據(jù)生成車輛歷史行駛軌跡。
[0098]該步驟108可以包括:
[0099]bl,根據(jù)分段后的軌跡數(shù)據(jù)中每個軌跡點的位置信息在地圖上分段渲染車輛歷史行駛軌跡。
[0100]本發(fā)明實施例中可以用不同的顏色在地圖上分段渲染車輛歷史行駛軌跡。
[0101]b2,將所述事件數(shù)據(jù)渲染為事件列表,所述事件列表中包括一個或多個事件數(shù)據(jù)。
[0102]客戶端對所述事件數(shù)據(jù)進行分析,可以將所述事件數(shù)據(jù)渲染為事件列表,所述事件列表中可以包括一個或多個事件數(shù)據(jù),記錄了事件發(fā)生的位置信息、事件類型、事件發(fā)生的時間、事件的處理級別等信息。
[0103]b3,針對事件列表中的每個事件數(shù)據(jù),按照事件發(fā)生的位置信息將所述事件數(shù)據(jù)顯示在所述車輛歷史行駛軌跡上。
[0104]針對事件列表中的每個事件數(shù)據(jù),可以按照事件發(fā)生的位置信息(經(jīng)緯度信息)將所述事件數(shù)據(jù)顯示在所述車輛歷史行駛軌跡上。例如可以利用圖標在車輛歷史行駛軌跡上標繪發(fā)生事件的位置,并且還可以將事件對應(yīng)的描述信息(事件類型、事件發(fā)生的時間、事件的處理級別等)顯示在車輛歷史行駛軌跡對應(yīng)的部分。
[0105]對于事件數(shù)據(jù),目前主要是通過在播放過程中對發(fā)生事件的時間段內(nèi)的所有數(shù)據(jù)進行分析后得到結(jié)論,每次分析的運算量較大,因此,本發(fā)明實施例中設(shè)計了一次分析多次返回機制,即通過客戶端對所述事件數(shù)據(jù)進行分析,然后將分析后的事件數(shù)據(jù)通過緩存技術(shù)緩存整體計算結(jié)果,并分段顯示,從而保證了數(shù)據(jù)播放的流暢性。
[0106]步驟110,客戶端播放所述車輛歷史行駛軌跡。
[0107]本發(fā)明實施例中,當用戶點擊播放按鈕時,客戶端即可播放所述車輛歷史行駛軌跡。
[0108]具體的,該步驟110在播放時可以包括:
[0109]在所述車輛歷史行駛軌跡上定位車輛圖標,并以預(yù)設(shè)的時間間隔更新車輛圖標在所述車輛歷史行駛軌跡上的位置。
[0110]本發(fā)明實施例中,客戶端可以依據(jù)軌跡數(shù)據(jù)中軌跡點的位置信息自動在所述車輛歷史行駛軌跡上定位車輛圖標。在播放過程中,還可以同步顯示軌跡數(shù)據(jù)對應(yīng)的車輛行駛狀態(tài)(例如車速、方向等)。
[0111]對于上述的時間閾值,本領(lǐng)域技術(shù)人員根據(jù)實際經(jīng)驗進行相關(guān)處理即可,本發(fā)明實施例對此并不加以限制。
[0112]步驟112,客戶端當接收到播放控制指令時,依據(jù)所述播放控制指令播放所述車輛歷史行駛軌跡。
[0113]在播放過程中,如果想要對播放過程進行控制,即可以發(fā)起播放控制指令,客戶端即可依據(jù)所述播放控制指令播放所述車輛歷史行駛軌跡。
[0114]其中,所述播放控制指令可以包括以下任意一種:暫停、停止、加速和減速。
[0115]如圖2所示,為車輛歷史行駛軌跡的播放示意圖,針對該圖可以執(zhí)行以下操作:
[0116]1、在輸入框中輸入行駛條件(即起止時間),生成對應(yīng)的車輛歷史行駛軌跡。[0117]圖 2 中為 2012/12/20 14:02:18-2012/12/21 14:02:18,即需要查看這一天的車
輛歷史行駛軌跡。
[0118]2、點擊播放按鈕,開始進行播放。
[0119]在行駛軌跡上標繪車輛圖標,以一定的時間間隔重繪車輛圖標在行駛軌跡上的位置,并在車輛狀態(tài)區(qū)同步更新車輛的行駛狀態(tài)(例如圖2中的時間、車速、瞬時耗油、方向、轉(zhuǎn)速、軌跡點、軌跡里程數(shù)等)。
[0120]3、點擊暫停按鈕,暫停車輛歷史行駛軌跡的播放。
[0121]4、點擊停止按鈕,停止車輛歷史行駛軌跡的播放,并將播放進度條和車輛圖標還原到最初位置。
[0122]5、點擊加速按鈕,加快播放速度。
[0123]6、點擊減速按鈕,減慢播放速度。
[0124]本發(fā)明實施例中,可以設(shè)置速度的檔位,例如可以設(shè)置lx、5x、10x、20x和50x這5個速度檔,本發(fā)明實施例對此并不加以限制。
[0125]如圖3所示,為車輛歷史行駛軌跡中事件的示意圖。從圖3可以看出發(fā)生的事件在車輛歷史行駛軌跡中位置(即軌跡上標有警告圖標的位置),并且還包括有該事件的一些描述信息,例如事件類型為油壓報警,事件時間等等,本發(fā)明實施例在此不再詳細論述。
[0126]在具體的應(yīng)用中,例如一輛大巴車在2012.12.20從車站出發(fā)前往目的地,全程行駛了 4個小時。過了幾天大巴公司的管理人員想查看該車在那一天的行駛情況,于是可以回放車輛軌跡,輸入想要查看的時間,點擊查詢,便得到了該車在2012.12.20這一天的行駛記錄。通過點擊其中的按鈕,管理員可以快速地查看車輛的行駛狀態(tài),如果在某個時間段,管理員發(fā)現(xiàn)車輛在一個位置沒有動,便可根據(jù)這一現(xiàn)象去了解當時該車的情況(例如,線上可以進入車輛管理,線路管理等模塊,查看該車的線路運行設(shè)置情況,線下則可以自行詢問相關(guān)車輛管理單位)。
[0127]本發(fā)明實施例所述的車輛歷史行駛軌跡的回放方法主要可以包括以下優(yōu)點:
[0128]展現(xiàn)上:模擬多媒體播放器,可視化動態(tài)播放車輛行駛軌跡,可以任意加快、減慢播放速度,任意拖拽播放進度條查看車輛行駛中各個時間點狀態(tài)。
[0129]數(shù)據(jù)處理上:智能處理行駛記錄儀上報的車輛位置數(shù)據(jù)的誤差,以及由于行駛記錄儀開、關(guān)狀態(tài)導(dǎo)致的軌跡中斷問題。高效分析軌跡數(shù)據(jù),在大數(shù)據(jù)量的情況下,以不影響展現(xiàn)為條件,通過對軌跡點的數(shù)據(jù)量進行精減,加快了客戶端渲染行駛軌跡的速度,加快了客戶端對查詢行駛軌跡這一操作的響應(yīng)速度;
[0130]對于相關(guān)的事件點(例如??奎c、告警點等),設(shè)計了一次分析多次返回機制,通過后臺緩存技術(shù)緩存整體計算結(jié)果,分段展示前臺,保證前臺數(shù)據(jù)展現(xiàn)流暢。
[0131]實施例二:
[0132]參照圖4,示出了本發(fā)明實施例二所述的一種車輛歷史行駛軌跡的回放系統(tǒng)的結(jié)構(gòu)框圖,所述系統(tǒng)可以包括客戶端40和服務(wù)器42。
[0133]其中,所述服務(wù)器40可以包括:接收模塊401、獲取模塊402、分段模塊403和返回模塊404。
[0134]接收模塊401,用于接收針對歷史行駛數(shù)據(jù)的獲取請求,所述獲取請求包括行駛條件;[0135]獲取模塊402,用于獲取滿足所述行駛條件的行駛數(shù)據(jù),所述行駛數(shù)據(jù)包括軌跡數(shù)據(jù)和事件數(shù)據(jù);
[0136]其中,所述軌跡數(shù)據(jù)可以包括:多個軌跡點、每個軌跡點的上報時間、每個軌跡點的里程值、每個軌跡點的位置信息,以及每個軌跡點對應(yīng)的車速、方向、轉(zhuǎn)速,等等。
[0137]所述事件數(shù)據(jù)可以包括:事件發(fā)生的位置信息(例如經(jīng)緯度信息)、事件類型(如停車、告警、熄火、啟動等)、事件發(fā)生的時間、事件的處理級別(處理級別可以依據(jù)事件的特性設(shè)定的,比如把告警設(shè)定為比較高的級別,則該類事件在顯示時會使用更為醒目的圖標),等等。
[0138]分段模塊403,用于判斷所述軌跡數(shù)據(jù)中是否存在錯誤數(shù)據(jù),當存在錯誤數(shù)據(jù)時,刪除所述錯誤數(shù)據(jù),對所述軌跡數(shù)據(jù)進行分段;
[0139]本發(fā)明實施例中,所述軌跡點可以按照上報時間排序,所述分段模塊403可以包括:
[0140]距離計算子模塊,用于從第一個軌跡點開始,依次計算相鄰的兩個軌跡點的里程值的差值,得到兩個軌跡點之間的距離間隔Si ;
[0141]時間計算子模塊,用于計算所述相鄰的兩個軌跡點的上報時間的時間間隔tl ;
[0142]相乘子模塊,用于將所述時間間隔tl與預(yù)設(shè)的車速閾值相乘,得到行駛距離s2 ;
[0143]差值計算子模塊,用于計算所述距離間隔Si和所述行駛距離s2的差值;
[0144]確定子模塊,用于當所述差值大于預(yù)設(shè)的距離閾值時,確定所述軌跡數(shù)據(jù)中存在錯誤數(shù)據(jù),并將滿足所述差值大于預(yù)設(shè)的距離閾值的兩個軌跡點作為錯誤數(shù)據(jù)。
[0145]返回模塊404,用于將分段后的軌跡數(shù)據(jù)和所述事件數(shù)據(jù)返回給客戶端;
[0146]所述客戶端42可以包括:生成模塊421、播放模塊422和控制模塊423。
[0147]生成模塊421,用于緩存分段后的軌跡數(shù)據(jù)和事件數(shù)據(jù),生成車輛歷史行駛軌跡;
[0148]所述生成模塊421可以包括:
[0149]軌跡渲染子模塊,用于根據(jù)分段后的軌跡數(shù)據(jù)中每個軌跡點的位置信息在地圖上分段渲染車輛歷史行駛軌跡;
[0150]事件渲染子模塊,用于將所述事件數(shù)據(jù)渲染為事件列表,所述事件列表中包括一個或多個事件數(shù)據(jù);
[0151]顯示子模塊,用于針對事件列表中的每個事件數(shù)據(jù),按照事件發(fā)生的位置信息將所述事件數(shù)據(jù)顯示在所述車輛歷史行駛軌跡上。
[0152]播放模塊422,用于播放所述車輛歷史行駛軌跡;
[0153]所述播放模塊可以在所述車輛歷史行駛軌跡上定位車輛圖標,并以預(yù)設(shè)的時間間隔更新車輛圖標在所述車輛歷史行駛軌跡上的位置。
[0154]控制模塊423,用于當接收到播放控制指令時,依據(jù)所述播放控制指令播放所述車輛歷史行駛軌跡;
[0155]其中,所述播放控制指令可以包括以下任意一種:暫停、停止、加速和減速。
[0156]對于系統(tǒng)實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
[0157]本發(fā)明實施例中服務(wù)器在接收到針對歷史行駛數(shù)據(jù)的獲取請求之后,獲取滿足所述行駛條件的行駛數(shù)據(jù),并且進一步判斷所述軌跡數(shù)據(jù)中是否存在錯誤數(shù)據(jù),當存在錯誤數(shù)據(jù)時,刪除所述錯誤數(shù)據(jù),對所述軌跡數(shù)據(jù)進行分段,最后將分段后的軌跡數(shù)據(jù)和所述事件數(shù)據(jù)返回給客戶端,客戶端即可緩存分段后的軌跡數(shù)據(jù)和事件數(shù)據(jù),生成車輛歷史行駛軌跡,并播放所述車輛歷史行駛軌跡。
[0158]本發(fā)明實施例中服務(wù)器并不是將所有軌跡數(shù)據(jù)都返回給客戶端,而是通過服務(wù)器對軌跡數(shù)據(jù)進行分段,刪除其中的錯誤數(shù)據(jù),從而保證將正確的數(shù)據(jù)返回給客戶端,因此,根據(jù)這些數(shù)據(jù)生成的行駛軌跡更加準確;并且返回的數(shù)據(jù)量較小,從而可以節(jié)省客戶端計算和渲染行駛軌跡的時間。
[0159]對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
[0160]最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或
者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個......”限定的要素,
并不排除在包括所述要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。
[0161]以上對本發(fā)明所提供的一種車輛歷史行駛軌跡的回放方法和系統(tǒng),進行了詳細介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實施方式】及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
【權(quán)利要求】
1.一種車輛歷史行駛軌跡的回放方法,其特征在于,包括: 服務(wù)器接收針對歷史行駛數(shù)據(jù)的獲取請求,所述獲取請求包括行駛條件; 服務(wù)器獲取滿足所述行駛條件的行駛數(shù)據(jù),所述行駛數(shù)據(jù)包括軌跡數(shù)據(jù)和事件數(shù)據(jù);服務(wù)器判斷所述軌跡數(shù)據(jù)中是否存在錯誤數(shù)據(jù),當存在錯誤數(shù)據(jù)時,刪除所述錯誤數(shù)據(jù),對所述軌跡數(shù)據(jù)進行分段; 服務(wù)器將分段后的軌跡數(shù)據(jù)和所述事件數(shù)據(jù)返回給客戶端; 客戶端緩存分段后的軌跡數(shù)據(jù)和事件數(shù)據(jù),生成車輛歷史行駛軌跡; 客戶端播放所述車輛歷史行駛軌跡。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述軌跡數(shù)據(jù)包括多個軌跡點、每個軌跡點的上報時間和每個軌跡點的里程值,其中,所述軌跡點按照上報時間排序, 所述服務(wù)器判斷所述軌跡數(shù)據(jù)中是否存在錯誤數(shù)據(jù),包括: 從第一個軌跡點開始,依次計算相鄰的兩個軌跡點的里程值的差值,得到兩個軌跡點之間的距離間隔Si ; 計算所述相鄰的兩個軌跡點的上報時間的時間間隔tl ; 將所述時間間隔tl與預(yù)設(shè)的車速閾值相乘,得到行駛距離s2 ; 計算所述距離間隔Si和所述行駛距離s2的差值; 當所述差值大于預(yù)設(shè)的距離閾值時,確定所述軌跡數(shù)據(jù)中存在錯誤數(shù)據(jù),并將滿足所述差值大于預(yù)設(shè)的距離閾值的兩個軌跡點作為錯誤數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述軌跡數(shù)據(jù)包括多個軌跡點和每個軌跡點的位置信息,所述事件數(shù)據(jù)包括事件發(fā)生的位置信息, 所述客戶端緩存分段后的軌跡數(shù)據(jù)和事件數(shù)據(jù),生成車輛歷史行駛軌跡,包括: 根據(jù)分段后的軌跡數(shù)據(jù)中每個軌跡點的位置信息在地圖上分段渲染車輛歷史行駛軌跡; 將所述事件數(shù)據(jù)渲染為事件列表,所述事件列表中包括一個或多個事件數(shù)據(jù); 針對事件列表中的每個事件數(shù)據(jù),按照事件發(fā)生的位置信息將所述事件數(shù)據(jù)顯示在所述車輛歷史行駛軌跡上。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述播放所述車輛歷史行駛軌跡,包括: 在所述車輛歷史行駛軌跡上定位車輛圖標,并以預(yù)設(shè)的時間間隔更新車輛圖標在所述車輛歷史行駛軌跡上的位置。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 客戶端當接收到播放控制指令時,依據(jù)所述播放控制指令播放所述車輛歷史行駛軌跡; 其中,所述播放控制指令包括以下任意一種:暫停、停止、加速和減速。
6.一種車輛歷史行駛軌跡的回放系統(tǒng),其特征在于,包括:客戶端和服務(wù)器,其中, 服務(wù)器包括: 接收模塊,用于接收針對歷史行駛數(shù)據(jù)的獲取請求,所述獲取請求包括行駛條件; 獲取模塊,用于獲取滿足所述行駛條件的行駛數(shù)據(jù),所述行駛數(shù)據(jù)包括軌跡數(shù)據(jù)和事件數(shù)據(jù); 分段模塊,用于判斷所述軌跡數(shù)據(jù)中是否存在錯誤數(shù)據(jù),當存在錯誤數(shù)據(jù)時,刪除所述錯誤數(shù)據(jù),對所述軌跡數(shù)據(jù)進行分段; 返回模塊,用于將分段后的軌跡數(shù)據(jù)和所述事件數(shù)據(jù)返回給客戶端; 客戶端包括: 生成模塊,用于緩存分段后的軌跡數(shù)據(jù)和事件數(shù)據(jù),生成車輛歷史行駛軌跡; 播放模塊,用于播放所述車輛歷史行駛軌跡。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述軌跡數(shù)據(jù)包括多個軌跡點、每個軌跡點的上報時間和每個軌跡點的里程值,其中,所述軌跡點按照上報時間排序, 所述分段模塊包括: 距離計算子模塊,用于從第一個軌跡點開始,依次計算相鄰的兩個軌跡點的里程值的差值,得到兩個軌跡點之間的距離間隔Si ; 時間計算子模塊,用于計算所述相鄰的兩個軌跡點的上報時間的時間間隔tl ; 相乘子模塊,用于將所述時間間隔tl與預(yù)設(shè)的車速閾值相乘,得到行駛距離s2 ; 差值計算子模塊,用于計 算所述距離間隔Si和所述行駛距離s2的差值; 確定子模塊,用于當所述差值大于預(yù)設(shè)的距離閾值時,確定所述軌跡數(shù)據(jù)中存在錯誤數(shù)據(jù),并將滿足所述差值大于預(yù)設(shè)的距離閾值的兩個軌跡點作為錯誤數(shù)據(jù)。
8.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述軌跡數(shù)據(jù)包括多個軌跡點和每個軌跡點的位置信息,所述事件數(shù)據(jù)包括事件發(fā)生的位置信息, 所述生成模塊包括: 軌跡渲染子模塊,用于根據(jù)分段后的軌跡數(shù)據(jù)中每個軌跡點的位置信息在地圖上分段渲染車輛歷史行駛軌跡; 事件渲染子模塊,用于將所述事件數(shù)據(jù)渲染為事件列表,所述事件列表中包括一個或多個事件數(shù)據(jù); 顯示子模塊,用于針對事件列表中的每個事件數(shù)據(jù),按照事件發(fā)生的位置信息將所述事件數(shù)據(jù)顯示在所述車輛歷史行駛軌跡上。
9.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述播放模塊在所述車輛歷史行駛軌跡上定位車輛圖標,并以預(yù)設(shè)的時間間隔更新車輛圖標在所述車輛歷史行駛軌跡上的位置。
10.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述客戶端還包括: 控制模塊,用于當接收到播放控制指令時,依據(jù)所述播放控制指令播放所述車輛歷史行駛軌跡; 其中,所述播放控制指令包括以下任意一種:暫停、停止、加速和減速。
【文檔編號】G07C5/08GK103927795SQ201310012981
【公開日】2014年7月16日 申請日期:2013年1月14日 優(yōu)先權(quán)日:2013年1月14日
【發(fā)明者】楊健, 楊曉光, 范雪安, 鄧偉, 張鶴高, 張志平, 胡道生, 夏曙東 申請人:北京中交興路信息科技有限公司, 北京千方科技集團有限公司