问题描述
我有一些工作代码,突然之间显示了很多警告消息(以前没有这样做)。它们不会妨碍代码的执行,但是非常烦人。我有大约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 (将#修改为@)