强制中断后gdalcubes的create_image_collection触发R会话终止
问题描述
- 尝试用R的
gdalcubes包基于本地遥感时序数据创建数据立方体,处理5GB大文件时create_image_collection函数运行极慢(3小时仅完成11%),且导致电脑卡顿,强制断电中断进程。 - 后续即使处理小数据集,调用该函数也会触发R Session Abort,卸载重装
gdalcubes后问题仍存在。 - 怀疑目录残留损坏文件导致问题,寻求可删除/重置的目录路径。
环境信息
> sessionInfo() R version 4.2.2 (2022-10-31 ucrt) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 10 x64 (build 19045) Matrix products: default locale: [1] LC_COLLATE=German_Germany.utf8 LC_CTYPE=German_Germany.utf8 LC_MONETARY=German_Germany.utf8 LC_NUMERIC=C LC_TIME=German_Germany.utf8 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] RPostgres_1.4.4 loaded via a namespace (and not attached): [1] Rcpp_1.0.9 rstudioapi_0.14 raster_3.6-14 knitr_1.41 hms_1.1.2 rappdirs_0.3.3 bit_4.0.5 here_1.0.1 lattice_0.20-45 rlang_1.0.6 [11] fastmap_1.1.0 blob_1.2.3 tools_4.2.2 grid_4.2.2 xfun_0.36 png_0.1-8 terra_1.6-53 cli_3.4.1 DBI_1.1.3 htmltools_0.5.4 [21] ellipsis_0.3.2 yaml_2.3.6 digest_0.6.31 bit64_4.0.5 rprojroot_2.0.3 lifecycle_1.0.3 Matrix_1.5-1 codetools_0.2-18 vctrs_0.5.1 evaluate_0.20 [31] rmarkdown_2.20 sp_1.5-1 compiler_4.2.2 reticulate_1.26 jsonlite_1.8.4 pkgconfig_2.0.3
解决方法
清理gdalcubes缓存目录
gdalcubes会存储临时缓存文件,强制中断可能留下损坏文件。执行以下代码获取缓存路径并删除:# 获取缓存路径 cat(rappdirs::user_cache_dir("gdalcubes"), "\n") # 递归删除缓存目录下所有内容 unlink(rappdirs::user_cache_dir("gdalcubes"), recursive = TRUE)也可以手动找到该路径(Windows下通常是
C:\Users\[你的用户名]\AppData\Local\gdalcubes\Cache),直接删除目录内文件。清理R临时目录
R运行时生成的临时文件可能残留损坏内容:- 在R中执行
tempdir()查看临时目录路径 - 关闭所有R会话,手动删除该目录下的所有文件
- 在R中执行
彻底重装gdalcubes
- 卸载包:
remove.packages("gdalcubes") - 找到R包安装路径(执行
.libPaths()查看),手动删除其中的gdalcubes文件夹 - 重新安装:
install.packages("gdalcubes")(若需开发版则用devtools::install_github("appelmar/gdalcubes_R"))
- 卸载包:
清理GDAL缓存
gdalcubes依赖GDAL,GDAL的缓存也可能存在问题:
Windows下GDAL缓存目录通常为C:\Users\[你的用户名]\AppData\Local\GDAL,关闭所有相关程序后删除该目录下的临时文件。
内容的提问来源于stack exchange,提问作者talocodat
相关产品推荐
相关产品推荐

