Я надеюсь написать программу R, которая считывает фрейм данных с точками широты и долготы и шейп-файл из 13 многоугольников, а затем определяет, в каком многоугольнике расположена каждая точка широты и долготы. Есть ли пакет R, который позволяет мне выполнять этот тип пространственного соединения? Я использую rgdal для чтения шейп-файла многоугольника, но я не вижу возможности выполнить пространственное соединение со столбцами lat / long в моем фрейме данных. Спасибо!
Использование R для пространственного соединения фрейма данных с точками широты и долготы с шейп-файлом многоугольника
Ответы (1)
Решение G. Cocca отлично работало после некоторых незначительных модификаций.
В конечном итоге решение потребовало четырех шагов с использованием R
library(sp)
и library(EcoSpatial)
:
- Преобразуйте фрейм данных точки широты / долготы в
SpatialPointsDataFrame
с помощьюsp
. - Используйте функцию
proj4string
sp
, чтобы перепроецироватьSpatialPointsDataFrame
, чтобы он использовал ту же проекцию, что и мой шейп-файл многоугольника. - Используйте функцию
EcoSpatial
points.in.poly
, чтобы пространственно объединить два набора данных. Это ключевой шаг, поскольку он создает новыйSpatialPointsDataframe
, который прикрепляет соответствующие данные полигона к каждой точке xy. - Используйте
as.data.frame
, чтобы вернутьSpatialPointsDataframe
в обычныйR
data.frame
.
Спасибо еще раз за помощь!
person
user3786999
schedule
28.04.2016
SpatialPointsDataFrame
, а затем использовать функциюover
изlibrary(sp)
- person G. Cocca   schedule 26.04.2016