在 R 中选择一个网格单元格

Select one grid cell in R

提问人:Shunrei 提问时间:11/5/2023 最后编辑:Shunrei 更新时间:11/6/2023 访问量:37

问:

是否可以仅从光栅砖中选择一个网格单元,并为该特定网格单元获取一个光栅砖?

我必须在光栅砖上执行一项计算成本非常高的任务,并且需要在一个网格单元格上测试脚本。

我不喜欢提取函数的结果。

这种格式的示例:

> prec_stack
class      : RasterBrick 
dimensions : 2, 2, 4, 366  (nrow, ncol, ncell, nlayers)
resolution : 0.25, 0.25  (x, y)
extent     : -6, -5.5, 40.5, 41  (xmin, xmax, ymin, ymax)
crs        : +proj=longlat +datum=WGS84 +no_defs 
source     : memory
names      :   X2020.01.01,   X2020.01.02,   X2020.01.03,   X2020.01.04,   X2020.01.05,   X2020.01.06,   X2020.01.07,   X2020.01.08,   X2020.01.09,   X2020.01.10,   X2020.01.11,   X2020.01.12,   X2020.01.13,   X2020.01.14,   X2020.01.15, ... 
min values :  1.665335e-13,  1.665335e-13,  6.631103e-04,  1.665335e-13,  1.665335e-13,  1.665335e-13,  1.665335e-13,  1.665335e-13,  3.436539e-01,  4.741280e-03,  1.665335e-13,  1.665335e-13,  8.816075e-04,  1.909899e-01,  7.564928e-01, ... 
max values :  8.832944e-04,  1.665335e-13,  4.644275e-03,  1.665335e-13,  2.981438e-03,  1.665335e-13,  1.665335e-13,  1.665335e-13,  6.721702e-01,  1.005035e-02,  2.429699e-03,  1.665335e-13,  2.098144e-03,  6.070088e-01,  1.907934e+00, ... 
R 像元 栅格

评论

0赞 sconfluentus 11/5/2023
您需要共享要修复、调试或优化的示例数据和代码,以获得您寻求的帮助。

答:

0赞 Eduardo Moreira 11/6/2023 #1

是的,这非常简单。

您只需要使用括号,定义所选单元格的行和列,然后添加参数,如下所示:drop=FALSE

   SelectedBrick <- YourBrick[CellRow, CellCol, drop=FALSE]

结果将是一个光栅砖 (SelectedBrick),其中包含所有图层的选定单元格。

评论

0赞 Shunrei 11/6/2023
谢谢!但是如何知道特定网格单元格的行和列呢?
0赞 Eduardo Moreira 11/9/2023
代码对你有帮助吗?如果是这样,请推荐答案。关于本评论中的第二个问题,如果您不介意的话,答案将取决于您定义目标像素的标准。它可以是中心像素、角像素、具有特定值的像素或特定坐标。对于这些情况中的每一种,答案都会有所不同。我建议您打开一个新问题,指定您需要什么。