如何在距离另一个纬度或经度X的距离处找到纬度或经度?

时间:2015-07-23 00:51:01

标签: r

我正在尝试编写一个函数来围绕坐标(Lat,Long)创建一个方形边界框。

我需要"添加"距离Lat-Long的距离(比如5 km)。

  • 我可以忽略10公里边小网格的投影吗?
  • 我可以忽略球形因素的最大近似方框是什么?
  • 如何在纬度/经度(24.5,-88.65)中加上和减去X kms(比如5)以获得边界框的边缘?

P.S。如果有帮助,我的工作在美国大陆。

1 个答案:

答案 0 :(得分:2)

在包geosphere中有一个名为destPoint()的函数,它将初始位置,方向(以度为单位的角度)和以米为单位的距离作为输入。您可以使用此功能两次,一次用于水平方向,另一次用于垂直方向。例如:

library(geosphere)

# Starting longitude and latitude:
coords <- c(-71, 42)

# Distance in meters:
distance <- 5000

ne.coords <- c(destPoint(p = coords, b = 90, d = distance)[1],
               destPoint(p = coords, b = 0,  d = distance)[2])

sw.coords <- c(destPoint(p = coords, b = 90, d = -distance)[1],
               destPoint(p = coords, b = 0,  d = -distance)[2])

这给出了:

R> ne.coords
[1] -70.93965  42.04502
R> sw.coords
[1] -71.06035  41.95498