You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用rnoaa下载阿拉斯加威廉王子湾2011-2020年降水数据

阿拉斯加威廉王子湾降水数据rnoaa获取指南

1. 目标区域stationid查询方法

  • 调用rnoaa::ghcnd_stations()函数获取全量GHCND站点元数据,返回结果包含所有站点的经纬度、ID、数据覆盖时间范围等核心字段
  • 按威廉王子湾经纬度范围(大致区间为北纬60°-62°,西经144°-149°,西经数值记为负数)过滤元数据,得到区域内所有候选站点
  • 额外筛选first_year ≤ 2011且last_year ≥2020的站点,确保数据覆盖你需要的2011-2020区间,筛选结果中的id字段即为所需stationid

2. 2011-2020年降水数据下载方法

你提到的CDO网页端仅展示到2014年的数据是前端展示限制,rnoaa对接的官方接口可以获取到近年的完整数据。你提到的cpc_prcp()是获取CPC全球0.5°分辨率逐日降水格点数据的函数,无需站号即可直接获取区域级数据,适配你的需求;如果需要站点级的逐小时/逐日数据,也可以使用ghcnd、isd函数实现。

2.1 cpc_prcp批量获取配置方法

该函数仅支持单日期查询,你可以先生成目标区间的日期序列,循环调用后过滤目标区域即可,参考代码如下:

library(rnoaa)
library(dplyr)
# 生成2011-2020年完整日期序列
date_seq <- seq.Date(as.Date("2011-01-01"), as.Date("2020-12-31"), by = "day")
# 批量拉取并筛选区域降水数据
prcp_result <- lapply(date_seq, function(cur_date){
  # 拉取单日全球降水格点数据
  day_prcp <- cpc_prcp(date = as.character(cur_date), drop_undefined = TRUE)
  # 过滤威廉王子湾范围的格点
  region_prcp <- day_prcp %>%
    filter(lat >= 60 & lat <= 62,
           lon >= -149 & lon <= -144)
  return(region_prcp)
}) %>% bind_rows()

2.2 站点级数据备选方案

  • 逐日站点降水:调用ghcnd()函数,传入第一步筛选得到的stationid,配置参数date_min = "2011-01-01"、date_max = "2020-12-31"、var = "PRCP"即可直接获取
  • 逐小时站点降水:调用isd()函数,传入stationid,设置start = 2011、end = 2020,提取返回结果中的降水字段即可,无2014年的时间限制

内容的提问来源于stack exchange,提问作者Salvador

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 18:54:04