微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

R中的Supress rgdal警告

如何解决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 举报,一经查实,本站将立刻删除。