从R中的栅格中提取缓冲区

时间:2014-08-20 19:01:40

标签: r raster r-raster

我是R和空间分析的初学者。我有一个栅格,其中栖息地多边形的单元格等于1。

 img <- readPNG("Paysage.png")
 map <- raster(img[,,2],xmn=0, xmx=999, ymn=0, ymx=999)
 projection(map) <- "+proj=utm +zone=18 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"
 map[] <- polygons[,c("id_polygon")] 
 map[ map > 0] <- 1

从这个栅格中,我如何为每个多边形构建一个栅格,在该栅格中,位于给定多边形周围1 km缓冲区中的所有多边形单元格等于1,而所有其他矩阵单元格等于0。

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:2)

使用光栅包中的缓冲区功能: 只需确保将所有不希望缓冲区增长的单元格设置为NA:

map[map==0]=NA
library(raster)
b <- buffer(map, width=1000)