R中的Supress 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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...