我正在尝试在特定地理编码点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(),对吧?)
答案 0 :(得分:1)
您可以使用distHaversine
包中的函数geosphere
(假设df
是您的数据帧,43, -77
是您参考点的坐标):
geosphere::distHaversine(c(43, -77), df[, 2:3]) / 1609.334 <= 25
#[1] TRUE FALSE FALSE
默认输出为米,因此,除以1609.334会转换为英里。