r - 如何读取超过 32768 个波段的星星对象?

我有一个非常大的数据集,由一个属性组成,从 1970 年到 2100 年每天模拟,在一个相当精细的地理网格上定义。它已作为 netCDF 文件提供给我,我想在 R 脚本中阅读和分析它。数据太大而无法完全放入内存,所以我编写了一个脚本,使用 stars 代理对象和 purrr 包进行分析。它适用于类似的较小数据集。然而,这个数据集似乎太大了——有 45956 个波段,每个时间步一个。而且 read_stars() 命令似乎对一个对象可以有多少个波段有上限。这是加载正确库后我的代码的样子,其中 data_path 指向单个 .nc 文件:

data_full <- read_stars(data_path, proxy = TRUE)

它返回以下内容:

Warning message:
In CPL_read_gdal(as.character(x), as.charater(options), as.characters(driver), :
  GDAL Message 1 : Limiting number of bands to 32768 instead of 45956

然后数据被裁剪并在 2050 年左右停止。我希望在 data_full 变量中有完整的数据。是否可以增加频段限制?还是有其他方法可以做到这一点?

回答1

尝试将 GDAL_MAX_BAND_COUNT 设置为 65536

Python:

gdal.SetConfigOption('GDAL_MAX_BAND_COUNT',65536)

重击:

export GDAL_MAX_BAND_COUNT=65536

相似文章

c++ - 关闭所有功能的按钮

我是编码和embedded系统的新手,我想制作一个按钮来关闭和打开LED,同时关闭系统中的所有其他未来。到目前为止,我已经关闭并打开了按钮,但我似乎无法让它也更新电位器。出于某种原因,代码将检查按钮是...

最新文章