我正在使用R-INLA创建一个物种分布模型,我想使用我在ArcPro中创建的shapefile(.shp)作为空间网格中的屏障。为了这样做,我认为shapefile必须是'SpatialPolygons‘格式。
当我使用st_read()读取shapefile (由6个多边形组成)时,它被导入为SpatialPolygonsDataFrame (见附件图片)。
另外,我试着用worldhire获取shapefile文件,对它们进行细化,并尝试删除所有多余的小岛,但网格不能在INLA上运行。
长话短说,有没有一种方法可以将.shp文件作为SpatialPolygons对象导入(对于每个多边形,它需要是一个单独的shapefile,还是需要一个不同的函数)?b)如何将SpatialPolygonsDataFrame对象转换为SpatialPolygons对象?c)在R-INLA中构建空间自相关网格时使用SpatialPolygonsDataFrame对象?
感谢您的任何建议,如果我能提供更多的信息,请让我知道。
发布于 2021-06-03 20:42:39
我不确定这是否对您的底层问题有帮助,但是要从空间数据帧创建一个空间*对象,您可以使用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中剥离了所有属性列。
https://stackoverflow.com/questions/67802013
复制相似问题