r 光栅掩码不返回带有 NA 的文件
r raster mask not returning a file with NAs
我有一个栅格用作遮罩(称为 mask.in),它有 259200 个总像元,具有以下统计数据。
summary(mask.in)
layer
Min. 1
1st Qu. 1
Median 1
3rd Qu. 1
Max. 1
NA's 250864
一块名为 tmax 的积木具有相同的 xy 维度和 3,563 层。其中一层的统计数据是
summary(tmax[[100]])
X2051.04.10
Min. -33.302513
1st Qu. 3.263116
Median 16.360193
3rd Qu. 31.013544
Max. 46.200554
NA's 193403.000000
NA 值是有海洋的地方。数值是针对土地面积的。现在,我想使用此蒙版遮盖 is brick 特定部分的区域。我用这个命令
tmax_cropArea <-掩码(tmax,mask.in)。我的期望是 tmax_cropArea 中的 NA 数量应该大于 tmax 中的数量(类似于 193403 + 250864。但是所有的 NA 似乎都转换为零。如何让 NA 值保持为 NA . 我试过 tmax_cropArea <- mask(tmax, mask.in, maskvalue = NA)
但得到了相同的结果。
summary(tmax_cropArea[[100]])
X2051.04.10
Min. -8.521704
1st Qu. 8.933283
Median 14.269220
3rd Qu. 21.175379
Max. 44.941521
NA's 0.000000
这在光栅 3.1-5 的示例中工作正常
library(raster)
#rasterOptions(todisk=TRUE)
r <- raster(ncol=10, nrow=10)
m <- raster(ncol=10, nrow=10)
set.seed(1)
values(r) <- runif(ncell(r)) * 10
rr <- r * 10
r[1:10] <- NA
s <- stack(r, rr, r+10)
values(m) <- runif(ncell(r))
m[m < 0.5] <- NA
mr <- mask(s, m)
freq(r, value=NA)
#[1] 10
freq(m, value=NA)
#[1] 45
freq(mr, value=NA)
#layer.1 layer.2 layer.3
# 49 45 49
summary(mr[[3]])
# layer.3
#Min. 10.13390
#1st Qu. 13.04938
#Median 14.76351
#3rd Qu. 17.68076
#Max. 19.34705
#NA's 49.00000
您没有展示实际的脚本,我们也没有您的数据,因此更难提供帮助。我会先在一层上尝试这个,然后目视检查结果(并检查一些单独的单元格——可能来自 click()
获得的坐标)。在它们应该是 NA
的地方,这些值确实是零吗 --- 你表明没有 NA
s,但不是它们是零。
我有一个栅格用作遮罩(称为 mask.in),它有 259200 个总像元,具有以下统计数据。
summary(mask.in)
layer
Min. 1
1st Qu. 1
Median 1
3rd Qu. 1
Max. 1
NA's 250864
一块名为 tmax 的积木具有相同的 xy 维度和 3,563 层。其中一层的统计数据是
summary(tmax[[100]])
X2051.04.10
Min. -33.302513
1st Qu. 3.263116
Median 16.360193
3rd Qu. 31.013544
Max. 46.200554
NA's 193403.000000
NA 值是有海洋的地方。数值是针对土地面积的。现在,我想使用此蒙版遮盖 is brick 特定部分的区域。我用这个命令
tmax_cropArea <-掩码(tmax,mask.in)。我的期望是 tmax_cropArea 中的 NA 数量应该大于 tmax 中的数量(类似于 193403 + 250864。但是所有的 NA 似乎都转换为零。如何让 NA 值保持为 NA . 我试过 tmax_cropArea <- mask(tmax, mask.in, maskvalue = NA)
但得到了相同的结果。
summary(tmax_cropArea[[100]])
X2051.04.10
Min. -8.521704
1st Qu. 8.933283
Median 14.269220
3rd Qu. 21.175379
Max. 44.941521
NA's 0.000000
这在光栅 3.1-5 的示例中工作正常
library(raster)
#rasterOptions(todisk=TRUE)
r <- raster(ncol=10, nrow=10)
m <- raster(ncol=10, nrow=10)
set.seed(1)
values(r) <- runif(ncell(r)) * 10
rr <- r * 10
r[1:10] <- NA
s <- stack(r, rr, r+10)
values(m) <- runif(ncell(r))
m[m < 0.5] <- NA
mr <- mask(s, m)
freq(r, value=NA)
#[1] 10
freq(m, value=NA)
#[1] 45
freq(mr, value=NA)
#layer.1 layer.2 layer.3
# 49 45 49
summary(mr[[3]])
# layer.3
#Min. 10.13390
#1st Qu. 13.04938
#Median 14.76351
#3rd Qu. 17.68076
#Max. 19.34705
#NA's 49.00000
您没有展示实际的脚本,我们也没有您的数据,因此更难提供帮助。我会先在一层上尝试这个,然后目视检查结果(并检查一些单独的单元格——可能来自 click()
获得的坐标)。在它们应该是 NA
的地方,这些值确实是零吗 --- 你表明没有 NA
s,但不是它们是零。