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>

640?wx_fmt=jpeg

点位周边的机场站点搜索结果

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)
640?wx_fmt=jpeg气象数据导出文本示例

说明:其余功能大家可以安装worldmet包实践操作,也欢迎与我交流~~

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页