【问题标题】:Finding Distance From List Of Coordnates从坐标列表中查找距离
【发布时间】:2018-02-15 16:18:45
【问题描述】:

看看是否有人可以建议一个网站或 excel 方法来查找多个长、纬度坐标与一个点的距离

示例:我有一个起点和 7 个其他坐标,有没有办法找出每个点与起点的距离(以 KM/MI 为单位)?

起始位置:33.17261,-117.14571

坐标列表

32.75827,-117.17577

32.76079,-117.18589

32.76444,-117.20174

32.59815,-117.01685

32.66387,-117.05577

32.59811,-117.01681

32.66381,-117.05571

【问题讨论】:

  • 答案将取决于您是否要考虑地球曲率。不过你可以用谷歌查一下这个公式。使用您的坐标列表,它们是否在同一列中?即存储为文本,它们之间有一个
  • 它们是在同一列中的商店,如中间的“,”所示。不想计算曲率。非常感谢!
  • 废话,我只是将其视为图形上的 X 和 Y 点并使用 Sqrt(X^2+Y^2)。不幸的是,纬度和经度是角度。所以你需要地球的曲率效果
  • 这个website 会一次为你做一个。

标签: excel web web-applications excel-formula distance


【解决方案1】:

让我们假设它们存储的列是从第 2 行开始的 A 列(假设您有一个标题行)。您要做的第一件事是将它们分成各自的列,以便您可以处理数字。有几种方法可以做到这一点。最简单的是使用位于数据功能区上的内置功能文本到列。

在您开始该过程时选择整个列,然后在第一页上选择“分隔”。

在第二步中,选择“,”作为分隔符,然后按完成。不需要第三步。

完成后,您的数据现在应该位于两列中。

我会将您所指的点放在C2和D2中,您也可以在这部分使用文本到列或直接输入。

因此,根据另一个站点上的信息(假设它是正确的),将地球视为一个半径为 6371 公里的球体。将此值放在 E2 中。

接下来使用以下等式将您的列表转换为 X 和 Y 值:

F2
=$E$2*COS(RADIANS($B2))*COS(RADIANS($A2))

G2
=$E$2*SIN(RADIANS($B2))*SIN(RADIANS($A2))

请注意,度数已转换为弧度以用于 Excel 三角函数

为起点坐标重复该过程,并将公式放入 H2 和 I2。

H2
=$E$2*COS(RADIANS($D2))*COS(RADIANS($C2))
I2
=$E$2*SIN(RADIANS($D2))*SIN(RADIANS($C2))

最后在J2中使用如下公式:

=SQRT((F2-$H$2)^2+(G2-$I$2)^2)

将 F2、G2 和 J2 中的公式复制到您的源列表中。 J 中的值表示 X Y 点之间的距离。它虽然不是地球的曲率。显然有许多不同的模型可以预测这一点。如果您想要更精致的东西,您需要一款适合您所在地区的产品。

【讨论】:

  • 我已将它们拆分为各自的列,我如何将列表与 B2、C2 的长列和纬度列作为起点进行比较
  • 在底部添加了关于比较的最后一点。记下评论部分中针对您的问题的网络链接。
【解决方案2】:

对于测地线等级精度(毫米的分数),您可以使用我在 GitHub 上提供的 Excel 插件:https://github.com/tdjastrzebski/Vincenty-Excel,尤其是 VincentyInvDistance() 函数。解决方案实现Vincenty's formulae, 否则使用Haversine formula,但它不提供测地线等级结果。 这个话题不是那么琐碎,更多详情请参阅Geodesics on an ellipsoid

【讨论】:

    猜你喜欢
    • 2022-08-15
    • 1970-01-01
    • 2020-09-14
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    • 2020-08-06
    • 1970-01-01
    • 2012-06-13
    相关资源
    最近更新 更多