我正在使用R-INLA创建一个物种分布模型,我想使用我在ArcPro中创建的shapefile(.shp(作为空间网格中的屏障。为了做到这一点,我认为形状文件必须是"空间多边形"格式。
当我使用st_read((读取shapefile(由6个多边形组成(时,它被导入为一个SpatialPolygonsDataFrame(见附图(。
此外,我试图使用worldhire获得形状文件,将其变薄,并试图去除所有多余的小岛,但网格无法在INLA上运行。
长话短说,有没有:a( 我可以将.shp文件导入为SpatialPolygons对象的一种方法(它需要是每个多边形的单独形状文件,还是不同的函数(?b( 如何将SpatialPolygonsDataFrame对象转换为SpatialPolygon对象?c( 在R-INLA中构造空间自相关网格时使用SpatialPolygonsDataFrame对象?
我很感激你能提供的任何建议,如果我能提供更多信息,请告诉我
链接到使用plot((函数绘制的形状文件的图像
链接到SpatialPolygonsDataFrame 的图像
我不确定这是否有助于解决潜在的问题,但要从Spatial*DataFrame创建Spatial*对象,请使用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中剥离所有属性列。