0

我需要在 python 中分析一组 GPS 坐标。我需要找出最常见的位置。考虑到GPS数据的精度问题,定位精度不是很高。难以解释(以及在谷歌上搜索信息),因此举个例子:

  • 我每天从家里开车上班两个月
  • 我为每次旅行启动我的 gps 记录器,并在旅行结束时停止
  • 偶尔,我会去别的地方

如果我运行脚本,我需要分析驱动器开始和停止的坐标,例如 20m 的位置半径精度,我会发现最常出现的地方是我的家和我的工作(每个半径为 20m )。我在这个半径内停在哪里并不重要。

python中有没有可以执行此类操作的库?你有什么建议吗?

谢谢

4

2 回答 2

1

如果你最感兴趣的是你去的地方,你可以考虑从每个驱动器中取第一个和最后一个点,如果你在那里超过x次,则只取中间点。也许如果您在最后k个数据点上的平均速度小于某个阈值。这应该使应用一些聚类技术(如k-means clustering)变得更加容易。

可能会派上用场的是使用近似最近邻居来为任何给定点找到相对靠近它的点的集合。

要从图形中获取页面,您甚至可以尝试在所有数据点的空间上叠加一个高分辨率网格,并为每个点在该网格上制作一个小半径的 splat。每次添加 splat 时,您都可以累积在该点花费的时间,然后跟踪网格中累积时间最长的点。

于 2013-03-25T20:29:36.670 回答
0

为了计算最常见的位置,一种简单的方法是仅使用纬度/经度小数点后的前 3 位数字,或者更好地使用逗号后的 3 位数字。

在赤道:

4 位:11 m
3 位 111m
2 位 1.1km
1 位 11.1km
0 位 111.111 km(两条经线之间的距离):40 000 000 / 360

然后你可以用作哈希表,乘以例如 1000 以去掉 3 个小数点,并在哈希表中存储为 java.awt.Point。

有更好的解决方案,但这给出了第一个想法。

于 2013-03-25T20:25:53.077 回答