【问题标题】:Multiple Points Along Line between two known Geo Coords?两个已知地理坐标之间沿线的多个点?
【发布时间】:2011-12-17 03:39:29
【问题描述】:

我有一个 Java 项目来绘制地理坐标的属性。不需要超准,10米以内就可以了。

我搜索了半正弦公式和中点公式,但看不到它们如何解决我的问题:

我有一组用于角落和末端属性的坐标。例如,我知道这两个已知点之间有 6 个属性。

我不是数学或 GIS 专家,所以如果以下策略可行或垃圾,我希望获得知情意见:

计算 LAT 与 LNG A 和 B 之间的差值。将该数字除以数字或属性。这会起作用吗,或者有更好的方法吗?

非常感谢您的回答!

【问题讨论】:

    标签: java geo coords


    【解决方案1】:

    您可以使用球面几何中的公式,例如在Calculate distance, bearing and more between Latitude/Longitude points。下面我会参考这个页面。

    1. 计算两个给定点P1P2 之间的方位角theta(使用方位角的公式)。
    2. 计算两个给定点P1P2 之间的距离d(使用距离公式)。
    3. 计算P1P2 之间线上的任意点P,给定DP1 的距离,在您的情况下为D = d/6, D = 2d/6, ... 使用目标点给定距离下的公式和从起点开始轴承

    添加:带有源代码的正在运行的 JS 程序位于 jsfiddle

    【讨论】:

    • 感谢您的回答,它证实了我的基本想法,即使我没有数学技能来描述它。我以前看过可移动类型的文章,但不完全确定这是答案。谢谢。我会摆弄这个,看看我会怎么做。
    • 您好 Jiri,感谢您的回答,但我仍然不清楚您所说的“theta”是什么意思以及如何计算它?解决这个问题的步骤是什么?感谢您迄今为止的建议。
    • @Anthony:theta(希腊字母)是上述页面轴承公式中的轴承。我添加了一个 Javascript program with source code。我知道,您在 Java 中需要它,但将公式传输到 Java 很容易。
    • 这个解决方案正是我所需要的。我已经用 Java 实现了它,它就像一个梦一样工作。感谢您在用头撞墙后挽救了我的理智,头发并重新装饰了墙壁。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-09
    • 2014-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-25
    相关资源
    最近更新 更多