版权声明:转载请注明作者(独孤尚良dugushangliang)出处:https://blog.csdn.net/dugushangliang/article/details/102821219
先看看我们要处理的数据。
首先根据点的经纬度数值,做成点,串成线。这个过程八仙过海各显神通。若有人束手无策,可以看看鄙人的相关文章。
言归正传。
打开串成的线,整体上看,效果不错吧,如果你这么想,那你还是太嫩了。
但放大看局部,如下图所示。崩溃吧?
遇到问题,首先应该是找找有没有前人的经验。
嗯嗯,不错不错,搜到了搜到了。都打开看看,嗯嗯呢,这个,呃呃,看不懂啊……文字是半懂不懂,公式是一窍不通。
但问题还是要解决的,怎么破?
——————————我是分割线——————————
经观察,这种一般在10米之内,所以鄙人猜测这是由于GPS终端在停止状态时由于各种原因导致的漂移。这怎么处理?点距在10米内的都给去了。即:根据时间顺序排序后,A点为起始点,如果A点下一个B点在10米内则去掉这个B点并继续获取下一个点作为B点进行判断,直到有一个点不在10米内,然后把这个点作为A点继续判断。
很好,效果好了很多,但还是有问题。
想了好久,寤寐思服,辗转反侧,终于……
咳咳……来人呐!把狗头铡请来……哦……不……把向量请来。
这种漂移点都是尖角,用向量判断这个点的取舍。于是,我结合这个实际情况,提出两个凡是的方针。
凡是距离在10米内的一律去掉。
凡是构成尖角的一律不留。
至于具体效果?
再验吧,至少相比之前提升了很多,但可以肯定的是还有很多优化空间。
这就是二八定律——二成的操作去掉八成的问题。
(特别叮嘱:要活学活用,理论与实际相结合,提出并实践个人特色轨迹漂移点去除办法)
进一步优化的操作是:尖角剔除30°以内的,如果是30°-60°则结合实际判断取舍。
来看看第一次优化效果图,红线是取了开头一部分数据做优化处理的结果。
在第一次优化基础上进行第二次优化的结果,其中红线是优化后结果,黑线是第一次优化的开头区域的局部。
为什么还要留着向左向右的线段呢?为什么不直接从上到下呢?因为车要掉头啊,如果车辆在某一条路掉头,形成尖角是很正常的。
独孤尚良dugushangliang——著