运行get_daymet获取NY天气数据报错:stack函数参数x评估错误
解决get_daymet获取纽约气象数据的报错问题
排查与解决步骤
验证Daymet服务可用性
Daymet官方服务可能临时维护或接口调整,先通过简化测试代码验证:# 用纽约经纬度直接测试 get_daymet(lon=-74.0060, lat=40.7128, years=2020)如果测试报错,说明是服务端问题,等待一段时间再重试;若测试正常,再排查本地代码或数据问题。
检查NY空间对象有效性
原NY空间对象可能损坏或空间参考系异常,执行以下代码检查:# 查看对象基本信息 print(NY) # 确认空间参考系为WGS84(EPSG:4326) crs(NY)若对象损坏,重新导入纽约边界数据;若参考系不符,转换为WGS84:
# sf对象转换 NY <- st_transform(NY, 4326) # sp对象转换 NY <- spTransform(NY, CRS("+init=epsg:4326"))更新daymetr包
旧版本包可能存在API适配bug,更新后重试:install.packages("daymetr") library(daymetr)拆分元素请求定位问题
报错指向prcp元素,单独请求该元素测试:weather_prcp <- get_daymet(NY, label="precipitation", elements='prcp', years=2020:2021)若单独请求正常,再逐个添加
tmin、tmax;若仍报错,尝试缩小时间范围(如仅2020年)或缩小NY区域范围,排查是否为特定时段/区域的数据问题。检查本地缓存与磁盘权限
get_daymet会将数据缓存到本地,若缓存目录空间不足或无写入权限会报错,查看并处理缓存目录:# 查看当前缓存目录 daymetr::daymet_cache_dir() # 清理缓存(可选) daymetr::clean_daymet_cache() # 更换缓存目录(可选) options(daymetr_cache_dir = "/path/to/your/new/cache")
内容的提问来源于stack exchange,提问作者syrcf
相关产品推荐
相关产品推荐

