栅格提取 returns 仅限 NA

Raster extraction returns NA's only

我正在尝试创建一个由 7 个名为 stack 的栅格组成的栅格堆栈。 这似乎运作良好,因为当我使用 freq(stack) 时,它 returns 作为其中一部分的栅格的频率,例如其中一个栅格:

$Slope_Final
     value  count
[1,]     0 414933
[2,]     1  94763
[3,]     2   6622
[4,]     3    917
[5,]     4    195
[6,]     5     22
[7,]    NA 487146

然而当尝试 summary(stack) 它 returns

Error in .local(object, ...) : no cell values associated with this RasterBrick

这好像自相矛盾?奇怪的是, print(stack) 确实有效。 当我继续使用 raster::extract 函数时,

extraction <- extract(stack,points)

其中 points 是一个包含日期和时间等几列的空间点数据框,returned 矩阵只有 3145 行 NA;

> summary(extraction)
 Elevation_Final Landcover_Final Primroad_Final Secroad_Final  GPW_Final      Slope_Final    Water_Final   
 Mode:logical    Mode:logical    Mode:logical   Mode:logical   Mode:logical   Mode:logical   Mode:logical  
 NA's:3145       NA's:3145       NA's:3145      NA's:3145      NA's:3145      NA's:3145      NA's:3145  
points$Lat 

 points$Lon 

做return坐标!它们是 class 整数。 如果相关; stack points

的扩展
 extent(stack)
class      : Extent 
xmin       : -265959.9 
xmax       : 873040.1 
ymin       : 4619541 
ymax       : 5501541 

extent(points)
class      : Extent 
xmin       : -97.1336 
xmax       : -83.54935 
ymin       : 43.6795 
ymax       : 49.0001 

如果您显示更多代码(包括您收到的所有消息),将会很有帮助。例如,您说您有一个 RasterStack,但错误消息说您有一个 RasterBrick。在大多数情况下,这应该无关紧要,但谁知道呢,在这里却很重要。 summary 如果文件非常大,则取一个样本,并且由于您有很多 NA,这可能是一个不幸的样本(似乎不太可能)--- 在这种情况下会有一条消息。

理想情况下,您可以通过使用代码创建一些类似的数据来重现问题。这在这里可能很困难,但您仍然可以显示工作流程和 show(stack)show(points).

从范围来看,可以假定 points 有一个 longitude/latitude 坐标参考系统,但 stack 显然没有。也不重叠,因此你得到所有 NAs 。这是一件好事,如果它们巧合地重叠,您可能会得到值,但值是错误的。