java:将KM添加到给定的纬度和经度

Posted

技术标签:

【中文标题】java:将KM添加到给定的纬度和经度【英文标题】:java: add KM to given latitude and longitude 【发布时间】:2014-01-14 05:54:43 【问题描述】:

我有一个给定的纬度和经度说 (LAT,LONG)。

现在我想在这个 LAT、LONG 上添加 30KM 并想知道所有方向(北、南、NE、SE ..)的 lat、long 的结果值,即北、南的 lat long 值是多少LAT+30KM,LONG+30KM后,NE,SE方向

如何在 java 中实现?

【问题讨论】:

在这一点上回答这个问题需要很多假设。你有代码示例吗? 没有,我没有任何代码示例只是搜索。你在谈论什么样的假设 主要是数据类型,但是,如果你没有任何代码,也没关系。答案可以只是做出这些假设,而不必担心它是否适合您的问题。 【参考方案1】:

这称为从方位角和范围计算纬度/经度。请参阅本网站上的目标点距起点的距离和方位角部分:http://www.movable-type.co.uk/scripts/latlong.html

射程为 30 公里。您的方位将为 0(北); π/2(东); π(南)和 3/2 π(西)。

【讨论】:

【参考方案2】:

Haversine 公式在这里可能对您有所帮助。您可以参考This 链接。

【讨论】:

当我在我的应用程序和谷歌地图中使用相同的纬度时,我已经在 java 中实现了Haversine formula。我的应用程序显示的差异比谷歌地图少 1 公里

以上是关于java:将KM添加到给定的纬度和经度的主要内容,如果未能解决你的问题,请参考以下文章

使用 C# 将半径添加到经度和纬度

选择经度和纬度最近的记录

使用java程序查找具有指定半径的给定纬度和经度(即位置)的周围纬度和纬度值

怎么知道经纬度算距离,

MySQL:多个纬度和经度的附近位置

给定两个位置,如何从谷歌地图获取所有纬度和经度