gpt4 book ai didi

great-circle - 如果我在这里并朝着那里前进并且我已经覆盖了这么多地方,那么我在哪里?

转载 作者:行者123 更新时间:2023-12-02 17:56:35 25 4
gpt4 key购买 nike

我需要帮助编写以下方法:

def get_new_location(current_location, target_location, distance_travelled):
...
...
return new_location

所有位置均为(纬度、经度)

我意识到地球有不同的模型(WGS-84、GRS-80,...),这些模型考虑到地球是椭球体这一事实。就我的目的而言,假设完美的球体就足够了,那么这种精度水平是不必要的。

更新

考虑到一些回复,我正在微调我的问题。

benjismith 认为我的问题无法得到解答,因为地球上的点之间存在不止一条最短路径。他以选票的形式得到了很多支持,所以我想有些事情我不明白,因为我不同意。

The midpoint between any two locations on a sphere is a circular arc.

我承认当两点完全相反时这是正确的。我的意思是,两个点虽然保留在球体表面上,但彼此之间的距离不能再远。在这种情况下,有无数条等距路径连接两个点。然而,这是一种边缘情况,而不是规则。在所有其他情况下,绝大多数情况下,只有一条最短路径。

举个例子:如果你握住一根穿过两个点的绳子,并将其拉紧,那么绳子稳定下来的可能路径是否只有一条(除了已经讨论过的边缘情况)?

现在,在提出问题之前,获取两点和航向之间的距离不是问题。

我想我应该问的是以下内容是否有效:

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

如果我要走这条路,我会遵循大圆、恒向线……还是会完全偏离?(由于德鲁·霍尔的回答,我现在知道了这些术语。)

最佳答案

正如 BenjiSmith 所说,可能有几条路径可以连接地球上的任何 A 和 B,但最受欢迎的两条路径(到目前为止!)是“大圆”和“恒向线”路径。

大圆给出最短距离(通过从两点和地球中心构建一个平面并沿着该平面内的圆弧)。

恒向线保持恒定的航向,牺牲一定的距离(在高纬度地区可能会很远)以方便使用。也就是说,在船上或飞机上,您只需指向所需的航向并一直行驶,直到到达目的地(而使用大圆圈时,航向会不断变化)。在中纬度地区,距离损失并不太严重。

请注意,两种路径类型在处理对映点(球体上彼此相对的点)时都存在涉及极点的不连续性和模糊性。


要构建一个大圆,您需要将这些点转换为 3D 笛卡尔坐标(我将省略这一步,但对于球形地球来说这是微不足道的,并且对于扁地球模型(a WGS-84)迭代地找到) .

Let a be the unit vector pointing at the start point from the center of the earth.

Let b be the unit vector pointing at the end point from the center of the earth.

Let r be the radius of the earth.

Let d be the (given) distance traveled.

构造垂直于 G.C. 的单位向量。通过计算单位向量ab的叉积来计算平面。也就是说,令n = a x b

(给定的)行进距离是矢量 *r***a** 绕 n 扫过某个角度 theta 所形成的弧长。回想一下完整大圆的周长是 2 * pi * r,我们发现 theta = d/r>.

通过围绕 n 旋转 *r***a** theta 弧度,可以找到与新位置相对应的笛卡尔点。将该笛卡尔点转换为纬度/经度,就完成了。

我不会在这里导出恒向线数学,但会说墨卡托 map 投影具有恒向线是直的属性。您可以使用墨卡托投影公式轻松构建恒向线,但您必须定义一些误差容限,以便可以将路径分成短的直线段。

祝你好运!

关于great-circle - 如果我在这里并朝着那里前进并且我已经覆盖了这么多地方,那么我在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/283045/

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