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