栅格提取 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
。这是一件好事,如果它们巧合地重叠,您可能会得到值,但值是错误的。
我正在尝试创建一个由 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
。这是一件好事,如果它们巧合地重叠,您可能会得到值,但值是错误的。