我有一个包含6个图层的栅格堆栈,每个图层都与一年的NDVI数据相关联。此外,我有一个spacepointsdataframe,其中包含来自同一年的点数据。我想提取每个点的NDVI值,但是我想将年度点数据与关联的NDVI数据年份匹配。例如,来自2008年的点只能从2008 NDVI层中提取数据。
我尝试了不同的条件语句以及提取函数{raster} ...但是没有任何运气。
#####NDVI raster stack
amp08<-raster("H:/ArcGIS Files/GIS Mule Deer layers/amp2008.tif")
amp09<-raster("H:/ArcGIS Files/GIS Mule Deer layers/amp2009.tif")
amp10<-raster("H:/ArcGIS Files/GIS Mule Deer layers/amp2010.tif")
amp11<-raster("H:/ArcGIS Files/GIS Mule Deer layers/amp2011.tif")
amp12<-raster("H:/ArcGIS Files/GIS Mule Deer layers/amp2012.tif")
amp13<-raster("H:/ArcGIS Files/GIS Mule Deer layers/amp2013.tif")
amp<-stack(amp08,amp09, amp10, amp11, amp12, amp13)
####spdf
loc = cbind(xx.clean$x2_, xx.clean$y2_)
proj4string <- CRS("+proj=utm +zone=11 +ellps=GRS80 +units=m +no_defs")
deerspdf <- SpatialPointsDataFrame(loc, xx.clean, proj4string =
proj4string)
deerspdf$year<-as.factor(deerspdf$year) ###"2008", "2009", "2010"....
deerspdf
@ data : 'data.frame': 2500 obs. of 4 variables:
$id: Factor with 45 levels
$year: Factor w 6 levels
$x2_: num [1:2500]
$y2_: num [1:2500]
作为最终产品,我想要一列包含每年提取的NDVI值的列。