给定..
1 - 起点 GPS 坐标,
2 - 终点 GPS 坐标,
3 - 物体行进的速度,
4 - 知道行程轨迹将是一条直线......
如何计算我的 GPS 协调在 n 分钟内的时间?也就是说,如何计算我在行程开始到行程结束前的给定时间的位置?
这将为您提供两个 GPS 坐标(经度/纬度)之间的距离。
然后简单地做
Time = [Distance] in m / [Speed] in m/s
假设匀速,这是一个粗略的估计。
这种方法仅对小距离足够准确,因为没有考虑地球的曲率。您可以将伪球坐标转换为平面坐标,但对于距离较大且需要精度的情况,另一种方法可能会更好。
关键是计算起点和终点之间的总距离。您可以使用欧几里得距离,但如前所述,这仅对较小的距离相当准确:
distance = sqrt((end.x - start.x) ** 2 + (end.y - start.y) ** 2)
然后您就知道走完整个距离需要多长时间:
timeToTravelDistance = distance / speed
由此,您可以计算您从到给定的距离的百分比:start
end
time
percentageTraveled = time / timeToTravelDistance
最后,插值:
result.x = start.x * (1 - percentageTraveled) + end.x * percentageTraveled
result.y = start.y * (1 - percentageTraveled) + end.y * percentageTraveled