Как я могу создать объект SpatialPolygons из объекта SpatialPolygonsDataFrame в R?

Я работаю над созданием модели распределения видов с помощью R-INLA, и я хочу использовать шейп-файл (.shp), который я создал в ArcPro, в качестве барьера в пространственной сетке. Я считаю, что для этого шейп-файл должен быть в формате SpatialPolygons.

Когда я читаю шейп-файл (состоящий из 6 полигонов) с помощью st_read (), он импортируется как SpatialPolygonsDataFrame (см. Прикрепленные рисунки).

Кроме того, я попытался получить шейп-файлы с помощью worldhire, прореживал их и пытался удалить все лишние маленькие островки, но меш не работал на INLA.

Короче говоря, есть ли: а) Способ, которым я могу импортировать файл .shp как объект SpatialPolygons (должен ли он быть отдельным шейп-файлом для каждого многоугольника или другой функцией)? б) Как я могу преобразовать объект SpatialPolygonsDataFrame в объект SpatialPolygons? c) Использовать объект SpatialPolygonsDataFrame при построении пространственной автокорреляционной сетки в R-INLA?

Я благодарен за любой совет, который вы можете дать. Пожалуйста, дайте мне знать, если я могу предоставить дополнительную информацию.

Ссылка на изображение шейп-файла, построенного с помощью функции plot ()

Ссылка на изображение SpatialPolygonsDataFrame

1 ответ

Я не уверен, что это поможет в решении вашей основной проблемы, но для создания объекта Spatial * из Spatial * DataFrame вы используете geometry() функция:

      library(sp)
library(rgdal)
seas = readOGR("il_seas.shp")

class(seas)
[1] "SpatialPolygonsDataFrame"
attr(,"package")
[1] "sp"
> seas_geom = geometry(seas)
> class(seas_geom)
[1] "SpatialPolygons"
attr(,"package")
[1] "sp"

Это просто удаляет все столбцы атрибутов из SPDF.

Другие вопросы по тегам