R语言 如果(ncol(x)== 3 &!exists(“bathy”,继承= FALSE))中出现错误{:参数长度为零

lnlaulya  于 2023-01-10  发布在  其他
关注(0)|答案(3)|浏览(189)

我一直在尝试从marmap获取测深线,最近调用getNOAA.bathy函数时收到以下错误消息

Querying NOAA database ...This may take seconds to minutes, depending on grid size
Error in if (ncol(x) == 3 & !exists("bathy", inherits = FALSE)) { : argument is of length zero

这种情况甚至发生在简单的事情上

map <- getNOAA.bathy(lon1=10,lon2=19,lat1=67,lat2=71,resolution=10, keep=TRUE)

我更新了软件包到最新版本(1.0.4),因为我读到可能有与服务器访问相关的问题。我也尝试在R而不是RStudio中运行上述脚本,但错误仍然存在...如果我使用以前下载的数据,该函数工作正常,但现在我需要使用另一组坐标为新Map。
任何帮助都是非常感谢!

odopli94

odopli941#

您需要(重新)安装rgdalraster软件包。这已经在marmap软件包的here on the GitHub Issue pages中有所说明。

yacmzcpb

yacmzcpb2#

对于其他人来说,报告的错误也可能是由于服务器停机造成的- R没有给予任何指示。您可以检查https://www.ncei.noaa.gov/alerts是否有计划的停机。

ctzwtxfj

ctzwtxfj3#

几个月来,同样的错误信息似乎一直困扰着Windows用户,所有软件包都是最新的。
marmap v1.0.9现已在GitHub上提供:

remotes::install_github("ericpante/marmap")

这个版本应该解决这个臭名昭著的错误消息:

Error in if (ncol(x) == 3 & !exists("bathy", inherits = FALSE)) { :
argument is of length zero

我已经能够确认这个错误是由于raster软件包在Windows上可以处理的url长度的限制。来自NOAA服务器的geotif文件现在使用utils::download.file()下载到用户磁盘上的临时文件中,然后使用raster::raster()导入到R中。
marmap v1.0.9将在未来几天内在CRAN服务器上提供。

相关问题