#r
#r
Вопрос:
Мне нужно создать отверстие в SpatialPolygonsDataFrame на основе меньшего полигона, который он полностью содержит.
Это иллюстрирует желаемый результат с использованием полигонов, созданных WKT:
require(rgeos)
p = readWKT("POLYGON((1 1,5 1,5 5,1 5,1 1),(2 2,2 3,3 3,3 2,2 2))")
p = SpatialPolygonsDataFrame(p, data.frame(x=1))
plot(p, col='grey')
Теперь предположим, что у нас есть следующий многоугольник без какой-либо геометрии отверстий, как мы можем вставить отверстие (т. Е. Без readWKT)? Я предполагаю, что это функция rgeos, но я не могу определить решение.
poly = readWKT("POLYGON((1 1,5 1,5 5,1 5,1 1))")
hole = readWKT("POLYGON((2 2,2 3,3 3,3 2,2 2))")
Заранее спасибо.
Ответ №1:
library(rgeos)
gDifference(poly, hole)
должен это сделать.