gpt4 book ai didi

python - 聚类经纬度gps数据

转载 作者:行者123 更新时间:2023-11-28 21:10:18 26 4
gpt4 key购买 nike

我有超过 40 万辆汽车的 GPS 位置,例如:

[ 25.41452217,  37.94879532],
[ 25.33231735, 37.93455887],
[ 25.44327736, 37.96868896],
...

我需要对点之间的距离 <= 3 米进行空间聚类。
我尝试使用 DBSCAN,但它似乎不适用于 geo(longitude, latitude)

另外,我不知道集群的数量。

最佳答案

您可以使用 pairwise_distances 从纬度/经度计算地理距离,然后通过指定 metric='precomputed' 将距离矩阵传递到 DBSCAN。

计算距离矩阵:

from sklearn.metrics.pairwise import pairwise_distances
from sklearn.cluster import DBSCAN
from geopy.distance import vincenty

def distance_in_meters(x, y):
return vincenty((x[0], x[1]), (y[0], y[1])).m

distance_matrix = pairwise_distances(sample, metric=distance_in_meters)

使用矩阵运行 DBSCAN:

dbscan = DBSCAN(metric='precomputed', eps=3, min_samples=10)
dbscan.fit(distance_matrix)

希望这对您有所帮助。

耕雨

关于python - 聚类经纬度gps数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36816084/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com