【发布时间】:2008-11-12 04:32:30
【问题描述】:
我需要帮助编写以下方法:
def get_new_location(current_location, target_location, distance_travelled):
...
...
return new_location
所有位置都在哪里(纬度,经度)
我意识到地球有不同的模型(WGS-84,GRS-80,...),它们考虑到地球是椭球体这一事实。就我的目的而言,假设一个完美的球体就足够了,那么这种精度水平是不必要的。
更新
考虑到一些回答,我正在微调我的问题。
benjismith 认为我的问题无法回答,因为地球上各点之间的最短路径不止一条。他以选票的形式有很多支持,所以我想我有些不明白,因为我不同意。
任意两个位置的中点 在球体上是一个圆弧。
我承认当两点完全相反时这是正确的。我的意思是这两个点虽然都留在球体的表面上,但彼此之间的距离不能再远了。在这种情况下,有无限数量的等距路径连接两个点。然而,这是一个极端情况,而不是规则。在所有其他情况下,绝大多数情况下,只有一条最短路径。
举例说明:如果你握住一根穿过两点的绳子,并拉紧它,绳子会不会只有一个可能的路径(除了已经讨论过的边缘情况)?
现在,在提问之前,获取两点与航向之间的距离不是问题。
我想我应该问的是以下是否有效:
def get_new_location(current_location, target_location, percent_traveled):
new_location.lon = (1-percent_traveled)*current_location.lon+percent_traveled*target_location.lon
new_location.lat = (1-percent_traveled)*current_location.lat+percent_traveled*target_location.lat
return new_location
如果我沿着这条路走,我会沿着大圆、恒向线……还是完全偏离? (我现在知道这些术语是因为 Drew Hall 的回答。)
【问题讨论】:
-
这可能是一个家庭作业问题吗?
-
中间的某个地方?
-
@jacko 不,这不是作业问题。 :) 虽然我不介意回到学校。
-
糟糕。我(显然)错了,我很高兴你注意到了。我已经删除了我的答案。
-
@carrier:我很好奇最终的解决方案。你让它工作了吗?
标签: great-circle dead-reckoning