dataRetrieval包获取USGS站点历史数据异常问题咨询
问题原因与解决方法
- 核心问题:
readNWISuv()函数用于获取瞬时流量数据(分钟/小时级高频观测值),而你在USGS网站看到的1919年起始数据是日度汇总数据(如日平均流量),二者调用USGS不同的数据接口,数据归档范围存在差异。 - USGS数据规则:站点10136500的参数
00060(流量)瞬时数据仅从1986年开始记录,日度汇总数据可追溯至1919年,这就是readNWISuv()只能拿到1986年后数据的原因。
解决代码
要获取1919年起的日度数据,需使用dataRetrieval包的readNWISdv()函数,示例代码如下:
library(dataRetrieval) # 获取日度流量数据(dv对应daily value日度数据) Gateway_daily <- readNWISdv(siteNumbers = as.character(10136500), parameterCd = "00060", startDate = "1919-07-01", endDate = "2022-01-01") # 可选:查看数据结构确认结果 str(Gateway_daily)
补充说明
readNWISuv():后缀uv是unit value的缩写,对应瞬时/单位时间观测数据;readNWISdv():后缀dv是daily value的缩写,对应日度汇总数据;- 若需验证站点参数的可用数据范围,可使用
whatNWISdata()查询:
# 查询站点参数的可用数据类型与时间范围 site_info <- whatNWISdata(siteNumber = as.character(10136500), parameterCd = "00060") print(site_info[, c("data_type_cd", "begin_date", "end_date")])
内容的提问来源于stack exchange,提问作者Tanner33
相关产品推荐
相关产品推荐

