r - 抑制 R 中的 rgdal 警告
问题描述
我有一些工作代码突然显示很多警告消息(以前没有这样做)。它们不会阻碍代码的执行,但很烦人。我有大约 2000 个 tif 想要转换为栅格。为此,我将它们加载到这样的列表中:
tif_list<-list.files(pattern = "*.tif$")
tif_list<-lapply(tif_list, raster)
我尝试的第一件事是 rgdal 的建议
options("rgdal_show_exportToProj4_warnings"="none") # using it before loading the labrary as rgdal suggests
library(rgdal)
这没有用,所以接下来我尝试了全局禁用警告,options(warn=-1)
这也没有帮助。
接下来我累了suppressWarnings(lapply(tif_list, raster))
,但又没有运气。有点绝望,我试图将所有 rgdal 警告设置为 false:
set_thin_PROJ6_warnings(FALSE)
set_rgdal_show_exportToProj4_warnings(FALSE)
这当然没有做任何事情。
我也尝试过设置不可见的警告
invisible(capture.output(lapply(tif_list, raster))) # although just not outputting them would be better
这也没有做任何事情,我的想法已经不多了。
快速说明两件事。当我将列表子集到少于 4-5 个要转换的 tif 时,不会显示警告。最多 40 个 tif 警告只会在我第二次运行代码时出现。
警告如下所示:
proj_create_from_database: datum not found
proj_create_from_database: ellipsoid not found
proj_create_from_database: prime meridian not found
proj_create_from_database: datum not found
proj_create_from_database: ellipsoid not found
proj_create_from_database: prime meridian not found
proj_create_from_database: datum not found
proj_create_from_database: ellipsoid not found
proj_create_from_database: prime meridian not found
proj_create_from_database: datum not found
proj_create_from_database: ellipsoid not found
proj_create_from_database: prime meridian not found
proj_create_from_database: datum not found
proj_create_from_database: ellipsoid not found
proj_create_from_database: prime meridian not found
proj_create_from_database: datum not found
proj_create_from_database: ellipsoid not found
proj_create_from_database: prime meridian not found
ps:
我也更新到了最新的 rgdal 版本 1.5-16
解决方案
推荐阅读
- javascript - 通过引用更改 Angular 7 中的 HTML
- mysql - 处理重复行的最佳方法
- vue.js - 编辑记录后如何重新加载 Vue 表格组件?
- c# - Outlook 联系人项目旁边的状态指示器
- python - Flask block specific endpoints from logging
- python - opencv-python\opencv\modules\imgproc\src\color.cpp:182: 错误: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor',, only cam light open
- java - 使用 Yocto 安装 jvm 文件
- node.js - 节点无法在 docker compose 中访问 postgres 服务器
- apache-superset - Apache 超集错误 -
- java - 如何通过 Java 中的随机过程生成对象的唯一值