Я прикрепил шейп-файл (sample
) с 4 объектами, и у каждого из них есть gap
, out
, in
в поле type
(см. Таблицу атрибутов). Я хотел бы объединить элемент gap
с соседним многоугольником, который имеет максимальную площадь (в этом случае gap
будет объединен с in
). Мой окончательный шейп-файл будет иметь 3 функции (без gap
). Как мне сделать это в R?
В ArcGIS есть прямой инструмент для объединения объектов. Я хотел знать, как мы это делаем в R.
Вот ссылка на шейп-файл
Я использовал библиотеку rgeos
, чтобы определить соседний полигон с максимальной площадью. Это мой код Я не могу понять, как объединить эту функцию с функцией gap
.
library(rgeos)
adj_mat <- gTouches(shp, byid=TRUE)
a <- adj_mat[which(shp@data$type=="gap"),]
area <- shp@data$SHAPE_Area[which(a=="TRUE")]
final_matching_id <- which(area==max(area))
f_gap <- shp@data[final_matching_id+1,]
f_gap
OBJECTID SHAPE_Leng SHAPE_Area type
3 13 1.527046 0.09469124 in