Добавление полигона в SpatialPolygonsDataFrame - PullRequest
1 голос
/ 27 января 2020

Как добавить многоугольник в SpatialPolygonsDataFrame?

Пример: скрипт внизу создаст SpatialPolygonsDataFrame. Я хотел бы добавить многоугольник, который состоит из большого квадрата вокруг существующих многоугольников.

   library(rgdal)
   dsn <- system.file("vectors", package = "rgdal")[1]
   Scotland <- readOGR(dsn=dsn , layer="scot_BNG")
   plot(Scotland)

enter image description here

Предпочтительный конечный результат:

enter image description here

Важно, чтобы прямоугольник стал частью SpatialPolygonsDataFrame. Так как я должен сделать некоторые расчеты данных. Поэтому ручного добавления визуального слоя квадрата недостаточно.

Спасибо!

1 Ответ

2 голосов
/ 02 февраля 2020

Следующий код создает прямоугольник, который охватывает исходные пространственные многоугольники, и добавляет его как пространственный многоугольник к исходной форме.

library(rgdal)
library(rgeos)

dsn <- system.file("vectors", package = "rgdal")[1]
Scotland <- readOGR(dsn=dsn , layer="scot_BNG")

# change the width parameter to make the rectangle the desired size
# this results in an extent object that surrounds the original shape
eScotland <- extent(gBuffer(Scotland, width = 50000))
# turn the extent into a Spatial Polygon
pScotland <- as(eScotland, 'SpatialPolygons')
crs(pScotland) <- crs(Scotland)
newScotland <- bind(pScotland, Scotland)
plot(newScotland)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...