2016-04-25 7 views
1

Я надеюсь написать программу R, которая читает в кадре данных lat/long points и шейп-файл из 13 полигонов, а затем идентифицирует который многоугольник каждый точка lat/long находится внутри. Есть ли R-пакет, который позволяет мне делать этот тип пространственного соединения? Я использовал rgdal для чтения файла формы polygon, но я не вижу возможности для проведения пространственного соединения с столбцами lat/long в моем фреймворке данных. Благодаря!Использование R для пространственного соединения кадр данных из лат/длинных точек в полигонный шейп

+2

так же просто, как преобразование вашего lat/long dataframe в 'SpatialPointsDataFrame', а затем использовать функцию' over' из 'library (sp)' –

+0

Это может быть полезно: http://stackoverflow.com/questions/13316185/ r-convert-zipcode-or-lat-long-to-county/20131701 # 20131701 – ano

+0

Работал отлично. Благодарю. – user3786999

ответ

2

Решение G. Cocca отлично поработало после некоторых незначительных модификаций.

В конечном счете, решение требует четырех шагов с использованием R «ы library(sp) и library(EcoSpatial):

  1. Преобразование широты/долготы точки dataframe к SpatialPointsDataFrame с помощью sp.
  2. Используйте функцию sp10 для перепрограммирования SpatialPointsDataFrame так, чтобы она использовала ту же проекцию, что и мой файл формы полигона.
  3. Функция EcoSpatialpoints.in.poly Функция пространственного соединения двух наборов данных. Это ключевой шаг, так как он создает новый SpatialPointsDataframe, который привязывает соответствующие данные polgyon к каждой точке xy.
  4. Использовать as.data.frame, чтобы принудить SpatialPointsDataframe обратно в обычный Rdata.frame.

Еще раз спасибо за помощь!

 Смежные вопросы

  • Нет связанных вопросов^_^