问题描述
我正在尝试提取数字化树冠中DSM(CHM)中的像素值。
首先,我将我的工作目录设置为在shapefile和栅格中读取。
TreeCrowns <-shapefile("plot1sag_shape/plot1sag.shp")
CHM <- raster('272280split4.tif')
然后我尝试提取像素值
pixel <- raster::extract(CHM,TreeCrowns,method= 'simple',weights=FALSE,fun=NULL)
但是我得到一个空列表,其中包含每个多边形的所有NULL值。我已经确认CHM和多边形位于同一位置。我该怎么做才能解决此问题?
解决方法
由于您的shapefile由多边形组成,因此extract()
函数需要知道如何通过fun=
参数总结多边形上的像素值。由于您提供了fun=NULL
,因此该函数将解释为返回NULL
值以汇总像素值。
尝试fun=mean
或fun=sum
(它们的含义不同,所以请看哪一个适合您)。
这可能是因为多边形和栅格不重叠。您可以oc new-app
和show(CHM)
吗?你看过
TreeCrowns
相对于栅格像元,多边形是否很小?在这种情况下,请尝试使用参数plot(CHM)
lines(TreeCrowns)