问题标签 [terra]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
709 浏览

r - 在 R 中使用 terra 包从不同程度的栅格镶嵌错误?

我有一个文件夹,其中包含大约 191 个 GeoTIFF 文件(每个文件都是更大区域的不同 DEM(高程)图块)。我想将所有图块合并到一个光栅文件中。我正在使用该terra软件包,并且成功地加载了每个栅格并将它们从 2 米分辨率聚合到 30 米分辨率。但是,在运行mosaic将它们全部合并的函数时,我遇到了一个错误(请参阅下面的错误消息)。我已经能够在只有三个图块的较小子集上运行马赛克功能,但是当我扩展到所有文件时,这成为一个问题。

通过调用栅格的摘要(见下文),聚合确实会稍微改变程度 - 这可能是问题吗?resample可能是一种选择,但每个单独的栅格都有不同的范围,我不确定如何实施此修复。

不确定示例数据集是否会有所帮助,因为我知道这些功能有效。我在高性能集群上运行此代码,因此运行小批量代码效率不高。

下面是两个图块的示例:

0 投票
2 回答
293 浏览

reactjs - 可以在构建期间设置环境变量

我们将 Drone 和 terraform 用于 CI/CD 进行反应应用。你能帮我在构建过程中动态创建环境变量吗?

0 投票
1 回答
481 浏览

r - terra 包在尝试运行并行操作时返回错误

我正在使用raster包,我尝试切换到,terra但由于某些我不明白的原因,terra无法重现raster与包等并行工作时的相同操作snowfallfuture.apply. 这是一个可重现的例子。

.External(list(name = "CppMethod__invoke_notvoid", address = <pointer: (nil)>, : NULL 值作为符号地址) 中的错误。

rast如果我更改withrasterterra::maskwith ,完全相同的代码效果很好raster::mask。见下文:

如果我使用snowfall而不是相同的行为future

这会返回相同的错误,future_lapply 为什么会发生这种情况?我从未见过这样的错误。我希望利用更高的速度,terra但所以我被卡住了。

0 投票
1 回答
131 浏览

r - 如何使用 terra 复制此光栅脚本(特别是使用 mask 功能)?

我想从包含农药使用的光栅文件中提取一些施用率、总施用量和面积。我有很多文件需要这样做,而光栅速度很慢,所以我需要在 terra 中执行此操作,但努力复制遮罩功能。

这是栅格中的代码(从此处复制:使用栅格计算农药的平均施用量和总施用量,但数字不相加):

在土地

但是当我尝试使用掩码时出现此错误:

任何想法如何解决这个问题?

0 投票
1 回答
249 浏览

r - 为什么 terra 包在使用提取功能时会删除这些值?

我使用 terra 包从光栅文件中提取农药应用。在提取步骤中,似乎 terra 删除了一些行。在此示例中,有 19 个警告,其中显示:

无法计算最小值/最大值,采样中未找到有效像素。(GDAL 错误 1)

在提取步骤之后,我剩下的行更少了,而且似乎已经删除了一些行。

这一步使用栅格工作得很好(从这里使用栅格计算农药的平均施用量和总施用量,但数字没有加起来)但不幸的是,考虑到我需要处理的文件数量,它会减慢速度。

任何想法这个错误意味着什么以及如何解决它?

这是代码:

0 投票
0 回答
60 浏览

r - 如何从 R 中的多栅格 grib 文件中正确提取点数据?

我正在尝试从位于https://nomads.ncep.noaa.gov/pub/data/nccf/com/hrrr/prod/hrrr.20210511/conus/的 grib 文件中提取点数据。

这些文件由 170 或 173 个层(变量)组成。我想使用 terra:extract 提取点处的单元格值。但是,提取失败(层之间有些东西搞砸了)。这是我想为每个变量提取数据的 lon/lat:

extract_data 是一团糟,没有任何意义。如果我一次做一层效果很好(但需要更长的时间)。

我必须做什么才能让多层提取物起作用?

0 投票
1 回答
634 浏览

r - 了解 raster::extract 和 terra:extract

我在完全理解 terra:extract 时遇到问题。我希望提取管理 GADM 多边形的平均栅格值。我的栅格每个国家/地区都有一个值。我希望特定国家/地区内的每个行政多边形具有相同的值,并且包含某些国家边界的某些多边形被分配区域加权平均值。不幸的是,我当前的脚本并非如此。raster::extract 似乎给出了合理的结果,但不是 terra:extract (请参阅下面的示例代码 - 提供具有不同值的输出)。有人可以根据我下面的代码解释我为什么吗?非常感谢。

在此处输入图像描述

0 投票
1 回答
73 浏览

r - 如何在使用“聚合”降低分辨率后合并原点差异较小的光栅图块

我有 29 个具有以下属性的栅格图块:

我想将所有 29 个图块合并到一个栅格中,但是,在这种高分辨率下需要很长时间。所以我首先使用聚合降低了这些栅格的分辨率。我汇总了 113 倍(大致导致分辨率为 0.1):

但是,虽然原始图块都具有相同的原点 ([0,0]),但在使用“聚合”后,新栅格的原点存在细微差异:

然后,当我尝试将新栅格与 'merge' 合并时,出现错误:

欢迎任何我应该做的建议。

0 投票
2 回答
151 浏览

r - terra函数提取一个变量的所有波段?(相当于砖('x',varname='y'))

我有一个包含 79 个变量的 netcdf 文件,每个变量有 365 个波段(一年中的每一天都有一个波段)。我想读取一个变量的所有波段(即,具有 365 层的栅格)。使用 'raster' 包,这将按如下方式工作:

结果是一个 365 层的 RasterBrick:

但我还没有成功地用“terra”包做到这一点。我试过了

生成的 SpatRaster 有 79 个“源”,但如果我想提取一个“源”,使用什么语法?在 rast 函数中添加 varname = 'WDEP_PREC' 不起作用。我尝试了 dailyvalues$... 但它只调用单层(如“名称”下所列)。

0 投票
1 回答
118 浏览

r - 大型栅格的最佳 wopt 选项

处理大型栅格时,最好的 wopt 和 gdal 选项是什么terra::?我想将栅格堆栈(2.5arcmin)与分辨率更高(500 * 500m)的栅格相匹配。工作流程:尽可能接近地分解,然后重新采样,最后屏蔽。这可行,但输出 tif > 100gb,并且该过程需要很长时间。

wopt_options应该放在里面terra::disaggregate()terra::resample()?有什么方法可以减小文件大小并加快进程?

我还尝试了以下 gdal 选项gdal=c("COMPRESS=DEFLATE", "TFW=YES")or gdal=c("COMPRESS=LZW", "TFW=YES"),但没有真正改变。也尝试过没有任何 gdal 选项。

此外,我还raster::projectRaster()使用更快且 outputfile.tif 小得多的函数(使用分解的 r)来执行此操作。但是,我想我应该避免projecRaster()在这里使用:

r 栅格如下所示: 在此处输入图像描述