Я надеюсь написать программу R, которая читает в кадре данных lat/long points и шейп-файл из 13 полигонов, а затем идентифицирует который многоугольник каждый точка lat/long находится внутри. Есть ли R-пакет, который позволяет мне делать этот тип пространственного соединения? Я использовал rgdal для чтения файла формы polygon, но я не вижу возможности для проведения пространственного соединения с столбцами lat/long в моем фреймворке данных. Благодаря!Использование R для пространственного соединения кадр данных из лат/длинных точек в полигонный шейп
Q
Использование R для пространственного соединения кадр данных из лат/длинных точек в полигонный шейп
1
A
ответ
2
Решение G. Cocca отлично поработало после некоторых незначительных модификаций.
В конечном счете, решение требует четырех шагов с использованием R
«ы library(sp)
и library(EcoSpatial)
:
- Преобразование широты/долготы точки dataframe к
SpatialPointsDataFrame
с помощьюsp
. - Используйте функцию
sp
10 для перепрограммированияSpatialPointsDataFrame
так, чтобы она использовала ту же проекцию, что и мой файл формы полигона. - Функция
EcoSpatial
points.in.poly
Функция пространственного соединения двух наборов данных. Это ключевой шаг, так как он создает новыйSpatialPointsDataframe
, который привязывает соответствующие данные polgyon к каждой точке xy. - Использовать
as.data.frame
, чтобы принудитьSpatialPointsDataframe
обратно в обычныйR
data.frame
.
Еще раз спасибо за помощь!
так же просто, как преобразование вашего lat/long dataframe в 'SpatialPointsDataFrame', а затем использовать функцию' over' из 'library (sp)' –
Это может быть полезно: http://stackoverflow.com/questions/13316185/ r-convert-zipcode-or-lat-long-to-county/20131701 # 20131701 – ano
Работал отлично. Благодарю. – user3786999