如何从SpatialLinesDataFrame

时间:2019-09-24 06:58:16

标签: sf rgdal

我正在尝试使用sf和RGDAL软件包为项目创建遮罩。我有一个shapefile,它是SpatiallinesDataFrame,它需要是SpatialpolygonsDataFrame才能继续。

我已经尝试过这些代码

    fence1 <- as(fence1 ,"SpatialPolygonsDataFrame")
    fence1 <- SpatialPolygonsDataFrame(fence1)
    fence1 <- SpatialPolygonsDataFrame(fence1, match.ID = TRUE)

fence1是我从shp导入的SpatiallinesDataFrame。使用以下代码的文件:

    fence1 <- readOGR('/SECR/', layer = 'building')

此数据的目的是创建一个遮罩,以便我可以创建SECR分析

1 个答案:

答案 0 :(得分:0)

如果您使用的是sf,则可以使用以下内容进行阅读:

fence1 <- st_read('/SECR/building.shp')

然后,您可以做一个缓冲区使这些线变为多边形,并以投影单位选择宽度:

fence_buf <- st_buffer(fence1, 50) # buffer unit of 50 as example

然后,如果您需要将多边形作为sp SpatialPolygonsDataFrame,则可以从sf转换为sp

fence_buf <- as(fence_buf, 'Spatial')