查找哪些地理编码点位于特定点半径25英里的半径之内

时间:2019-01-07 20:57:35

标签: r

我正在尝试在特定地理编码点25英里半径内绘制某些医疗设施。 :

设施的数据集如下:

Name        Lat          Long        Type        Color
A          42.09336    -76.79659      X          green
B          43.75840    -74.25250      X          green
C          43.16816    -77.60332      Y          blue

...

但是,设施列表遍及全国(美国),但是我只想绘制圈中存在的设施。缓冲区圆的中心是坐标(long =-73.857932, lat = 41.514096)radius 25 miles的集合。

因此,在需要绘制的数据集中,我需要过滤设施列表,它们的纬度和经度,类型和颜色

我真的很陌生,而且截止日期很紧,所以如果有人可以解释那将是很棒的。

PS:我也想计算一下设施的类型(但是我想一旦创建过滤器,那将是一个简单的dplyr%>%n(),对吧?)

1 个答案:

答案 0 :(得分:1)

您可以使用distHaversine包中的函数geosphere(假设df是您的数据帧,43, -77是您参考点的坐标):

geosphere::distHaversine(c(43,  -77), df[, 2:3]) / 1609.334 <= 25
#[1]  TRUE FALSE FALSE

默认输出为米,因此,除以1609.334会转换为英里。