我想从栅格中提取值到点。我正在使用 terra 和 extract() 函数。该脚本有效,但我注意到对于某些行(大约 100 行),提取函数的结果是值“nan”。没有点在栅格之外。我也有这个问题,添加了 na.rm=T 选项。如果我尝试使用示例 qgis 执行相同的操作,我没有这个问题。这怎么可能?有没有人遇到过这个问题?
问问题
39 次
1 回答
0
y
首先在栅格 (SpatRaster ) 上绘制点 ( SpatVector x
)
plot(x)
points(y)
如果这看起来不太好,您可能应该这样做
y <- project(y, crs(x))
(也许 QGIS 会为您做到这一点?)
否则,要找出发生这种情况的位置,您可以选择这些点,可能像这样:
e <- extract(x, y, xy=TRUE)
yna <- y[is.na(e[,names(x)[1]]), ]
plot(x)
points(yna)
现在放大到这些点中的一个或多个
zoom(x) # click twice on the map
points(yna)
您可以将这些点保存到磁盘,writeVector(yna, "points.shp")
以便再次与 QGIS 进行比较。
而且,顺便说一句,extract
没有论据na.rm
(见?extract
)
于 2022-01-27T17:42:39.597 回答