https://github.com/davidcarslaw/worldmet
https://blog.youkuaiyun.com/kMD8d5R/article/details/81160916
worldmet - R包,用于访问NOAA综合地面数据库(ISD)气象观测
worldmet提供了一种从NOAA集成表面数据库(ISD)访问数据的简便方法。 ISD包含来自世界各地的35,000多个地点的详细地面气象数据。 另见地图。
包装输出(通常是每小时的气象数据)与openair包很好地配合。
安装
使用devtools软件包可以轻松地从GitHub安装worldmet。
require(devtools)
install_github('davidcarslaw/worldmet')
简要例子
为了搜索气象站点,用户可以通过大写或小写的站点名称或部分名称进行搜索。 getMeta函数将返回与搜索字符串匹配的所有站点名称。 返回的最重要信息是代码,然后可以将代码提供给下载数据的importNOAA函数。
例如,要搜索网站“希思罗机场”:
library(worldmet)
## user getMeta function to search for sites
## note code to be used in importNOAA
getMeta(site = "heathrow")
## USAF WBAN STATION CTRY ST CALL latitude longitude ELEV(M)
## 1669 037720 99999 HEATHROW UK EGLL 51.478 -0.461 25.3
## BEGIN END code dist
## 1669 1948-12-01 2017-12-15 037720-99999 NA
我们经常有一个纬度/经度。 可以基于提供的十进制坐标进行搜索,并返回前n个最近的站点。 地图显示用户搜索的位置(红点)和显示最近的气象站的标记。 单击站标记以获取代码和其他基本信息。
## search for near a specified lat/lon - near Beijing airport
## returns 'n' nearest by default
info <- getMeta(lat = 40, lon = 116.9)
要获得数据,用户必须提供代码(见上文)和感兴趣的年份或年份。 例如,要在2010年下载希思罗机场的数据(代码037720-99999):
dat <- importNOAA(code = "037720-99999", year = 2010)
head(dat)
## # A tibble: 6 x 23
## date usaf wban code station lat lon
## <dttm> <chr> <int> <chr> <chr> <dbl> <dbl>
## 1 2010-01-01 00:00:00 037720 99999 037720-99999 HEATHROW 51.483 -0.45
## 2 2010-01-01 01:00:00 037720 99999 037720-99999 HEATHROW 51.483 -0.45
## 3 2010-01-01 02:00:00 037720 99999 037720-99999 HEATHROW 51.483 -0.45
## 4 2010-01-01 03:00:00 037720 99999 037720-99999 HEATHROW 51.483 -0.45
## 5 2010-01-01 04:00:00 037720 99999 037720-99999 HEATHROW 51.483 -0.45
## 6 2010-01-01 05:00:00 037720 99999 037720-99999 HEATHROW 51.483 -0.45
## # ... with 16 more variables: elev <dbl>, wd <dbl>, ws <dbl>,
## # ceil_hgt <dbl>, visibility <dbl>, air_temp <dbl>, dew_point <dbl>,
## # atmos_pres <dbl>, RH <dbl>, cl_1 <dbl>, cl_1_height <dbl>, cl_2 <dbl>,
## # cl_2_height <dbl>, cl_3 <dbl>, cl_3_height <dbl>, cl <dbl>