簡體   English   中英

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 值是有海洋的地方。 數值適用於土地面積。 現在我想用這個遮罩遮住磚塊特定部分的區域。 我使用這個命令 tmax_cropArea <- mask(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,但不是它們為零。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM