2016-06-13 26 views
1

我有一个12级的分类栅格图像,并希望用它从另一个栅格提取信息。我想从分类栅格中的每个类中提取信息。我该怎么做?使用R中的分类栅格提取信息

library(raster) 
R1 <- raster(nrows=108, ncols=21, xmn=-19, xmx=19,ymn=2, xmx=29) 
###Let's assume the classified raster is D1, I'll like to use the classes of D1 within the boundaries of R1 to extract classified information form R1. 
RD1<-extract(R1, D1) ### where D1 is a raster with classes 

分类图像可在下面的链接: Koppen-Geiger climate classes

+0

如果您想从基于另一个栅格的栅格中提取信息(如您的问题所述),您可以使用'mask'而不是'extract'。 – rar

+0

hi @rar。我所面临的问题是遮掩正在普遍而不是按类别进行。如果有一种方法可以通过课堂掩饰,它应该可以工作。我该怎么做,请吗? –

+0

一种方法是你可以为每个班级制作面具。例如。 'm1 <-D1','m1 [!m1 == 1] < - NA'将为1级创建蒙版'm1'。因此,您可以为每个课程制作蒙版。您还可以为选定的课程制作蒙版。例如。 'm <-D1','m1[m1> 5] < - NA'将为1至5级创建掩码。 – rar

回答

0

@Joke○:听起来你正在寻找的rasterzonal功能。使用此函数,您可以指定要为每个类提取哪些信息(例如,sum,min,mean,max等)。

参见raster包文档:

zonal((x, z, fun='mean', digits=0, na.rm=TRUE, ...)) 

其中x是光栅对象,并且y是与12度的类分类的栅格。

+0

谢谢蒂姆。这工作。 –