首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从R中的SpatialPolygonsDataFrame对象创建SpatialPolygons对象?

如何从R中的SpatialPolygonsDataFrame对象创建SpatialPolygons对象?
EN

Stack Overflow用户
提问于 2021-06-02 16:59:12
回答 1查看 136关注 0票数 1

我正在使用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对象?

感谢您的任何建议,如果我能提供更多的信息,请让我知道。

Link to image of shapefile plotted using plot() function

Link to image of the SpatialPolygonsDataFrame

EN

回答 1

Stack Overflow用户

发布于 2021-06-03 20:42:39

我不确定这是否对您的底层问题有帮助,但是要从空间数据帧创建一个空间*对象,您可以使用geometry()函数:

代码语言:javascript
复制
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中剥离了所有属性列。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67802013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档