【问题标题】:How to calculate short & long distance via Haversine?如何通过 Haversine 计算短距离和长距离?
【发布时间】:2010-03-26 13:35:26
【问题描述】:

我正在寻找一种方法来计算地球上两点之间的距离。我们被告知使用 Haversine,它可以很好地计算 2 个点之间的最短距离。

现在,我想计算点之间的“长距离”。因此,假设您有 2 个城市,A 在西部,B 在东部。如果我向东环游地球,然后从西方到达 A,我想知道从 B 到 A 的距离。

我已尝试更改 hasrsine 函数中的一些内容,但似乎不起作用。

任何人都知道我可以通过对 hasrsine 函数进行小的调整来简单地做到这一点吗?

这是我现在使用的:

lat1, lat2, lng1, lng2 以弧度表示

part1 = sin(lat2) * sin(lat1); 第 2 部分 = cos(lat2) * cos(lat1) * cos(lng1 - lng2);

距离 = 6378.8 * acos(part1 + part2);

我的看法是,您可以在两个城市之间在全球范围内画一个圆圈。该圆的周长减去短距离的长距离。但与回答的相反,圆的长度不等于地球的周长。这仅适用于赤道上的 2 个点。

Tnx 杰伦

【问题讨论】:

    标签: distance haversine


    【解决方案1】:

    地球的周长约为 40,075KM,计算出短距离并从中减去。

    【讨论】:

    • 周长因纬度而异。
    • 同意,进一步思考我认为我错了......有趣的问题
    • 进一步思考,最短的路线垂直于赤道,因此最长的路线是圆周减去这个。虽然可以采取“其他”路线,但数量是无限的!
    • 基本上我认为我需要的是与定义最短路径的圆圈相同的圆圈,然后是世界各地。
    • 所以基本上是最短的长路径,如果这有意义的话。它与方向有关。
    猜你喜欢
    • 2016-04-06
    • 2017-11-24
    • 1970-01-01
    • 2016-04-02
    • 1970-01-01
    • 2022-06-14
    • 2016-10-18
    • 1970-01-01
    • 2014-03-08
    相关资源
    最近更新 更多