ghostsf

ghostsf

Do what i love and just do it !

軌跡線優化美化方案

0x00 影響軌跡的因素#

影響軌跡點的因素.png

  1. 坐標採集頻率問題:軌跡線是由軌跡點連接組成,而軌跡點一定都是離散的,離散程度取決於坐標獲取的頻率。頻率高,設備耗電,軌跡存儲增大,但是軌跡特徵明顯;頻率低,軌跡線特徵容易丟失。如何能夠比較智能的調整坐標上報頻率?

  2. 坐標採集保活問題:移動設備普遍具有省電模式、息屏功能等,這些場景均容易導致 GPS 採集程序被系統清除,從而導致坐標在某段時間突然無法採集、信號中斷。而互聯網 APP 卻往往早已被設備添加至白名單(與廠商有合作關係等),並不會有此問題。

  3. 軌跡坐標轉換問題:GPS 是 WGS84 坐標,北斗是 CGCS2000 坐標,而軌跡展示依托的地圖往往是各種不同坐標系的地圖,兩者直接需要進行坐標轉換。而且不同於互聯網應用只採用一種地圖,只需解決一種坐標類型的轉換,城市管理中需要解決的坐標轉換具有地圖類型多、地圖精度不可控(如脫密地圖)等問題。而坐標轉換的準確度將直接影響軌跡展示的效果。

  4. 坐標準確度問題:衛星定位最少要求 4 顆星同時觀測(由於其三球定位原理,再加上把時間作為變量,所以至少需要 4 顆星來觀測),而在不少情況下,移動設備並不能滿足同時接收到 4 顆以上衛星的信號(比如:室內、高層建築遮擋等),這將導致此時的衛星定位誤差很大。如何可以提高衛星定位的準確度?

  5. 軌跡坐標去噪問題:坐標準確度問題是一個不可避免的問題,在此情況下,需要一套可以對坐標異常點進行去除的方法,從而保證軌跡展示的效果不受異常點的影響。

  6. 軌跡線連接問題:軌跡線的逐點連接必然會導致線和線之間過渡不平滑,並且單純的軌跡點直連,還容易出現軌跡線 “穿牆” 問題(A 點和 B 點分別在十字路口不同地方,AB 直連將導致線條穿越中間的非路面建築)。

  7. 軌跡播放問題:軌跡天然是動態的,僅僅以軌跡線描述不能真實展現軌跡的時空特徵。如何優美的展示軌跡動態,讓用戶具有看動畫片一樣的觀感?

0x01 優化採集#

坐標採集頻率優化策略:#

  1. 系統有設置的默認採集頻率,針對人員和車輛是不同的。

  2. 當連續多個採集點為靜止或相差不大時(在閾值範圍內),此時可以將坐標採集頻率適當調慢。

  3. 當連續多個採集點的距離大於閾值範圍時,此時可以將坐標採集頻率適當調快。

坐標採集程序保活優化:#

保活機制為:常駐通知欄,雙進程守護,廣播鎖屏,自定義鎖屏

坐標準確度優化#

坐標信號強度對定位準確度影響十分大,比如當設備在室內或者高樓下時,坐標信號是明顯減弱的。可採用如下優化策略:

  1. 記錄信號強弱作為後續軌跡奇異點(問題點)的篩選條件之一。

  2. 當信號弱的超過一定閾值時,切換成百度定位方案。

0x02 擬合#

從算法層面上對軌跡點進行優化的策略。依據實施條件不同,展示要求不同,這裡從三個不同方向進行軌跡點擬合研究。

1. 基於道路線的路網匹配擬合#

道路匹配.png

顧名思義,本方案必須有道路線數據,其原理為將各軌跡點匹配至與道路垂直距離最近的節點上,並且將前後兩點沿道路順勢連接。
優點:軌跡全部在道路上,展示美觀。
缺點:依賴於道路數據的完整性,並且展示有失真實。

2. 基於時空聚類的去噪算法#

image.png

此算法的思路為在盡量不改變軌跡點的特徵情況下,通過軌跡的時空聚類,將某些特徵相似的點聚在一處,從而減小由於軌跡點打結導致的軌跡雜亂。但是本算法並不僅僅是常規的空間聚類算法,由於軌跡具有天然的時間屬性,不考慮軌跡的時間屬性進行聚類則會丟失軌跡的許多特徵信息。例如,雙行道道路,來回分別在不同的行道路上,如果不考慮時間維度,則會出現將雙行道上的軌跡點聚類到一個行道上。
優點:解決了軌跡點打結展示問題。
缺點:對於軌跡點之間的連接並沒有平滑處理。

3. 基於卡爾曼濾波的軌跡優化方案#

image.png

卡爾曼濾波(Kalman filtering)一種利用線性系統狀態方程,通過系統輸入輸出觀測數據,對系統狀態進行最優估計的算法。其在軌跡處理中,可以通過預測軌跡點與實際軌跡點之間的偏差來進行軌跡位置的調整,實現軌跡的平滑。
優點:軌跡線變的曲線平滑,更加美觀。
缺點:平滑度很難控制,導致軌跡有失真實,軌跡特徵變模糊,並且軌跡噪聲點對整體平滑效果影響很大。

4. 最終擬合方案#

image.png

以上方案各有優劣,但是如果能夠進行有效的綜合,並且再加上其他的數據處理流程,軌跡點的質量將會提升更多。具體描述如下:

通過坐標的準確度參數,去除一部分誤差特別大的軌跡點。
通過計算軌跡點速率異常變化,去除一部分 “飛點”。
基於時空聚類算法,進行軌跡點聚合。
通過卡爾曼濾波進行軌跡平滑美化,且控制平滑度過大。
針對車輛軌跡,在存在完好的道路線數據時,采用路網匹配算法。

0x03 美化,動效#

  1. 平滑動起來的人(車)
    image.png

靜止的人(車)圖標無法表示真實的變化,隨著位置坐標的獲取而跳躍變化的人(車)圖標又頗顯突兀,如果能實時的、平滑的顯示人(車)位置變化將會使用戶具有更強的 “參與” 感。以人的展示為例,為實現該目標,設計 16 個方向的人員圖標,根據坐標點之間的角度計算來選擇不同的人員圖標,並且通過計算兩點距離和播放速度來計算人員前進時的圖標變化,最終實現諸如前進時人手的左右搖擺效果等。

  1. 流動的軌跡箭頭
    image.png

軌跡箭頭的流動除了可以增加整體軌跡展示的動效,更能夠表示出軌跡的方向特徵。但是軌跡箭頭過於密集,也會影響軌跡的美觀。綜合設計,當地圖縮放到一定級別後,此時出現軌跡箭頭流動特效。

  1. 類 “滴滴” 的多軌跡展示效果
    image.png

“滴滴” 這類互聯網軌跡展示方案已經越來越被大眾所接受,尤其是多車輛(人員)的實時軌跡展示上。通過在軌跡大數據存儲、軌跡信息流、前端展示算法的不斷研究下,目前展示上基本可與之靠齊,並且也先後得到了實際項目的驗證,其中某揚塵項目為監控整個城市 1.6 萬輛車 24 小時的實時軌跡。

  1. 二三維一體的軌跡展示特效
    image.png

在三維場景中實現對軌跡的展示,將更加具有視覺的直觀性、衝擊力。並且借助遊戲場景展示的思路,將會讓用戶有更好的互動感。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。