问题描述
我在R中有shapefile和一个土地覆盖类的tiff文件。如何在shapefile中找到土地覆盖类别的百分比?例如,该shapefile中的研究区域中有多少土地?
#example data for cover
rat <- levels(raster2 )[[1]]
rat[["landcover"]] <- c("land","ocean/lake","rivers")
levels(raster2 ) <- rat
#and a raster
raster1 <- raster(matrix(c(1,1,2,3,4,5,6,7),ncol =3))
解决方法
在提出R问题时,请提供一个自成体系的最小示例。
栅格数据
library(raster)
r <- raster(ncol=36,nrow=18)
set.seed(111)
values(r) <- sample(3,18*36,replace=TRUE)
多边形
cds1 <- rbind(c(-180,-20),c(-160,5),c(-60,0),-60),c(-180,-20))
polys <- spPolygons(cds1)
解决方案
x <- extract(r,polys)
table(x)
#x
# 1 2 3
#16 9 13