R语言: 如何快速获取一个地方的气象数据?
作者介绍:
周甜,北京大学硕士研究生,高级分析师,主要从事环保数据分析,擅长于污染溯源和PM2.5源解析,知乎id:周小甜。
获取气象数据十分困难,但是气象数据对于空气质量分析至关重要,那么如何获取一个地方的气象数据(包括温度、风向、风速、气压、相对湿度等)呢?
本篇采用“worldmet”包,获取机场的小时气象数据,包括风向、风速、温度、露点、大气压、相对湿度。关于“worldmet”包,可参考大神github网页:https://github.com/envhyf/worldmet。
1.下载安装“worldmet”
require(devtools)
install_github('davidcarslaw/worldmet')
2.根据一个城市经纬度,找到最近机场信息
library("worldmet")
#以延庆区的经纬度为例,纬度40.458N,经度115.98E
getMeta(lat = 40.458, lon = 115.98)
#系统会搜索到此点位周边的机场站点
3.结果示例
结果示例:从结果来看,最近的站点为“HUAILAI”站点,编码544050-99999,数据从1956-08-20就有数据。
# A tibble: 10 x 15 USAF WBAN STATION CTRY ST CALL latitude longitude `ELEV(M)` BEGIN <chr> <int> <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl> <date> 1 544050 99999 HUAILAI CH <NA> <NA> 40.4 116. 538 1956-08-20 2 545110 99999 BEIJING - ~ CH <NA> ZBAA 40.1 117. 35.4 1945-10-31 3 543080 99999 FENGNING CH <NA> <NA> 41.2 117. 661 1957-06-01 4 544010 99999 ZHANGJIAKOU CH <NA> <NA> 40.8 115. 726 1956-08-20 5 535930 99999 YU XIAN CH <NA> <NA> 39.8 115. 910 1956-08-20 6 544230 99999 CHENGDE CH <NA> <NA> 41.0 118. 423 1956-08-20 7 545270 99999 TIANJIN CH <NA> <NA> 39.1 117. 5 1956-08-20 8 545273 99999 BINHAI CH <NA> ZBTJ 39.1 117. 3 1981-11-25 9 542080 99999 DUOLUN CH <NA> <NA> 42.2 116. 1247 1956-08-20 10 546020 99999 BAODING CH <NA> <NA> 38.7 115. 17 1956-08-20 # ... with 5 more variables: END <date>, code <chr>, longR <dbl>, latR <dbl>, # dist <dbl>

点位周边的机场站点搜索结果
4.导出最近机场的气象数据
#选取2015、2016、2017年,代码为544050-99999(“HUAILAI”站点)
dat <- importNOAA(code = "544050-99999", year = c(2015,2016,2017))
#保存文档为CSV
write.csv(dat, file = "huailai_met.csv", row.names = FALSE)
气象数据导出文本示例
说明:其余功能大家可以安装worldmet包实践操作,也欢迎与我交流~~