簡體   English   中英

在柵格堆棧中放置一個圖層

[英]Drop a layer in raster stack

我在使用 drop layer/subset function 從具有 min 和 max value==0的柵格堆棧中刪除柵格層時遇到問題。 請幫助我更正此語法。

Ls_AOI_3_r_sel_stk_v1 <- dropLayer(Ls_AOI_3_r_sel_stk_crop, (maxValue(Ls_AOI_3_r_sel_stk_crop)==0) & (maxValue(Ls_AOI_3_r_sel_stk_crop)==0))

請在下面找到一個使用terra庫(它是raster庫的改進版本)的可能解決方案

代表

  • 1 - 創建 class SpatRaster的虛擬柵格r
library(terra)

A <- rast( nrows=10, ncols=10, xmin=0, xmax=10 )
B <- rast( nrows=10, ncols=10, xmin=0, xmax=10 )
C <- rast( nrows=10, ncols=10, xmin=0, xmax=10 )

values(A) <- 1:100
values(B) <- 0:99
values(C) <- rep(0,100)

r <- rast(list(A,B,C))

names(r) <- c("red","green","blue")

# To what looks like 'r'
r
#> class       : SpatRaster 
#> dimensions  : 10, 10, 3  (nrow, ncol, nlyr)
#> resolution  : 1, 18  (x, y)
#> extent      : 0, 10, -90, 90  (xmin, xmax, ymin, ymax)
#> coord. ref. : lon/lat WGS 84 
#> sources     : memory  
#>               memory  
#>               memory  
#> names       : red, green, blue 
#> min values  :   1,     0,    0 
#> max values  : 100,    99,    0
  • 2 - 代碼為 select 層,其中最小值和最大值不為 0
r[[minmax(r)[1,] != 0 & minmax(r)[2,] != 0]]
  • 3 - Output(只選擇了"red"層)
#> class       : SpatRaster 
#> dimensions  : 10, 10, 1  (nrow, ncol, nlyr)
#> resolution  : 1, 18  (x, y)
#> extent      : 0, 10, -90, 90  (xmin, xmax, ymin, ymax)
#> coord. ref. : lon/lat WGS 84 
#> source      : memory 
#> name        : red 
#> min value   :   1 
#> max value   : 100

reprex package (v2.0.1) 創建於 2022-02-09

暫無
暫無

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

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