【发布时间】:2018-06-07 10:53:02
【问题描述】:
我正在尝试学习如何创建路径并以这种方式重新排列和旋转数据。 我正在练习的示例数据如下所示。
ID Time Latitude Longitude
1 2:00 60.092033 20.765083
1 3:00 60.097300 20.672767
1 4:00 60.125550 20.593650
1 5:00 60.115233 20.505367
1 6:00 60.103800 20.425850
1 7:00 60.113750 20.335717
1 8:00 60.115683 20.303683
1 9:00 60.114817 20.305500
1 10:00 60.077983 20.316917
1 11:00 60.034500 20.305317
这些是给定时间内对象的纬度和经度。我有几个目标坐标,我想检查该对象是否在这些目标坐标内。我使用的半径为 2 公里,如果对象在 2 公里以内,那么我想从起始坐标旋转到当前坐标并使其像一条路径。第二次旋转在第一次旋转结束后立即开始。
我正在使用 hasrsine libray 来计算两个不同坐标之间的距离(公里)。
lat = df['Latitude'].values
long = df['Longitude'].values
CurrentCoordinates = zip(lat, long)
TargetedCoordinates = [60.103900, 20.415850]
for i, j in CurrentCoordinates
print(haversine((i, j), TargetedCoordinates))
这给了我每个当前坐标和目标坐标之间的所有距离。
任何类型的建议都会很棒。 谢谢
【问题讨论】:
-
能否请您添加所需输出的示例?
-
@zipa 的愿望输出有点像下面接受的答案中给出的。对于额外的计算,我将尝试按照下面的答案中的建议使用 networkx。但是,如果您碰巧知道一些简单的方法,我也很乐意尝试这些方法。 :)