2024-09-27 07:26:06 发布
网友
想想马拉松比赛中的几个跑步者。运动员们都戴着GPS设备。赛道本身没有传感器,我需要知道每个运动员什么时候通过一组预先确定的GPS坐标。但是,由于跑道/道路可能足够宽,可以使用不同部分的跑道/道路,因此每个运动员可能会以稍有不同纬度/长度的路线通过该航路点。在
判断运动员是否通过某个航路点的最佳方法是什么?在
我正在使用Python,并愿意使用外部库。我使用的是预处理的GPS数据,所以我只有每个时间点的经纬度(以及一些其他的位和点,比如速度和行驶距离)。在
你可以试试这个: 航路点是两个轨道(直线)段相交的点(图中的黑线)。为在该航路点相交的两条线段(图中穿过该航路点的红蓝线)中的每一条,画一条与该航路点的线段之一正交的直线。当滑道进入图中标记为红色的区域时,该滑道被视为靠近该航路点(假设该滑道来自右侧)。一段时间后,跑步者可以进入图片中标记为蓝色的区域,此时,跑步者已经通过了航路点。在
如果该航路点从未出现在蓝色区域,则表示该航路点偏离轨道。在
我想解决你的问题的方法很少。 我首先想到的是:
from shapely.geometry import LineString line1 = LineString([(i, i) for i in range(5)]) line2 = zip(range(5)[::-1], range(5)) if line1.crosses(line2): print 'yeah!'
添加一个循环并迭代每个分段点线
其他可能的选择:
你可以试试这个: 航路点是两个轨道(直线)段相交的点(图中的黑线)。为在该航路点相交的两条线段(图中穿过该航路点的红蓝线)中的每一条,画一条与该航路点的线段之一正交的直线。当滑道进入图中标记为红色的区域时,该滑道被视为靠近该航路点(假设该滑道来自右侧)。一段时间后,跑步者可以进入图片中标记为蓝色的区域,此时,跑步者已经通过了航路点。在
如果该航路点从未出现在蓝色区域,则表示该航路点偏离轨道。在
我想解决你的问题的方法很少。 我首先想到的是:
添加一个循环并迭代每个分段点线
其他可能的选择:
相关问题 更多 >
编程相关推荐