文章版權由做者李曉暉和博客園共有,若轉載請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/html
最近項目需求,對軌跡的糾正、信息挖掘、展現等作了一系列的探索性研究。在前面的博客中,寫到了基於中值濾波的軌跡糾正(http://www.cnblogs.com/naaoveGIS/p/6492889.html),實際運用中,咱們是把卡爾曼濾波算法與實際場景結合(加上一些性能和各細節優化)來進行的軌跡糾正,在之後的博客中我將和你們一塊兒分享。這裏我要和你們一塊兒探討的是在前端如何對軌跡進行平滑的展現。前端
如下是未經處理過的原始軌跡:算法
明顯能夠看到,當人員在某個地方來回走動時,糾纏在一塊兒的軌跡線會特別的多。普通的軌跡平滑,是指將直線鏈接以bezel曲線進行平滑,可是對於這種打結的現象,則沒法單純以曲線擬合來解決。這裏,咱們討論一種以聚類算法來讓局部打結點整合成一個點從而實現平滑的方案。微信
普通聚類通常有網格聚類法、K中值聚類法等,這些聚類方法通常是僅從地理維度出發來進行聚類,可是在咱們軌跡的實際狀況中咱們必須將時間這個維度考慮進去纔是更合理的,不然整個軌跡圖很容易丟失一些重要的節點信息。因此,這裏咱們以距離、時間兩個維度來進行聚類。性能
這裏咱們必須考慮這樣幾個影響因子:優化
GPS是很容易漂移的,若是某幾個點出現畸變,它一樣應該概括爲聚類點中。3d
時間維度和空間維度的結合,能夠解釋爲在某個時間段內,連續移動的空間位置與聚類點之間的聚類均沒有超過閾值,則概括爲同一點。htm
因而咱們這個聚類方法能夠描述爲:在規定時間及以上,某物體連續移動的距離沒有超過聚類點的距離閾值,期間容許出現某幾回閾值距離外的畸變點,那麼這樣的一些點統一能夠聚類爲一個點。blog
具體聚類步驟爲:get
能夠看見,卡爾濾波對軌跡的平滑效果很明顯。
圖中由於有部分軌跡數據有明顯信號丟失,致使軌跡的連線出現了穿牆的問題,這裏對軌跡信號丟失處進行打斷處理,如圖:
優勢:將沒有太大意義的軌跡點聚類成一個點,能夠實現很好的平滑效果,而且能夠突出逗留位置。
缺點:參數設置的不一樣會嚴重影響展現結果,而且可能會致使某些特徵點的丟失。
在經過大量軌跡數據實現路網自建後,結合自建路網進行軌跡糾正應該效果會更加逼真。
-----歡迎轉載,但保留版權,請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/
若是您以爲本文確實幫助了您,能夠微信掃一掃,進行小額的打賞和鼓勵,謝謝 ^_^