Найдите, какие геокодированные точки лежат в пределах круга радиусом 25 миль от конкретной точки - PullRequest
0 голосов
/ 07 января 2019

Я пытаюсь нанести на карту определенные медицинские учреждения в радиусе 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 голосов
/ 08 января 2019

Вы можете использовать функцию distHaversine из geosphere пакета (при условии, df Ваш dataframe и 43, -77 являются координаты вашей точки отсчета):

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

По умолчанию выводятся метры, поэтому деление на 1609,334 преобразуется в мили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...