【R】rnoaa
2021年1月18日
1. はじめに
rnoaa
は、NOAA(National Oceanic and Atmospheric Administration)にアクセスしてデータを取得するインターフェースとなるパッケージです。
2. インストール
CRANからインストールできます。
install.packages("rnoaa")
GDALも必要なのでインストールします。
また、実際にデータを取得する際にはTokenが必要なので、こちらからあらかじめtokenを取得しておきます。
3. つかってみる
こちらに示されているように、たくさんのデータを取得できます。
まず、どこのデータが取れるかリストを出してみます。
ncdc_locs(locationcategoryid='CITY', sortfield='name', sortorder='desc', token = "YOUR-TOKEN-KEY")
$meta
$meta$totalCount
[1] 1989
$meta$pageCount
[1] 25
$meta$offset
[1] 1
$data
mindate maxdate name datacoverage id
1 1892-08-01 2020-11-30 Zwolle, NL 1.0000 CITY:NL000012
2 1901-01-01 2021-01-13 Zurich, SZ 1.0000 CITY:SZ000007
3 1957-07-01 2021-01-13 Zonguldak, TU 1.0000 CITY:TU000057
4 1906-01-01 2021-01-13 Zinder, NG 0.9025 CITY:NG000004
5 1973-01-01 2021-01-13 Ziguinchor, SG 1.0000 CITY:SG000004
6 1938-01-01 2021-01-13 Zhytomyra, UP 0.9723 CITY:UP000025
7 1948-03-01 2021-01-13 Zhezkazgan, KZ 0.9302 CITY:KZ000017
8 1951-01-01 2021-01-13 Zhengzhou, CH 1.0000 CITY:CH000045
9 1941-01-01 2020-11-02 Zaragoza, SP 1.0000 CITY:SP000021
10 1936-01-01 2009-06-17 Zaporiyhzhya, UP 1.0000 CITY:UP000024
11 1957-01-01 2021-01-13 Zanzibar, TZ 0.8016 CITY:TZ000019
12 1973-01-01 2021-01-13 Zanjan, IR 0.9105 CITY:IR000020
13 1893-01-01 2021-01-14 Zanesville, OH US 1.0000 CITY:US390029
14 1912-01-01 2021-01-13 Zahle, LE 0.9819 CITY:LE000004
15 1951-01-01 2021-01-13 Zahedan, IR 0.9975 CITY:IR000019
16 1860-12-01 2021-01-13 Zagreb, HR 1.0000 CITY:HR000002
17 1929-07-01 2021-01-05 Zacatecas, MX 1.0000 CITY:MX000036
18 1947-01-01 2021-01-13 Yuzhno-Sakhalinsk, RS 1.0000 CITY:RS000081
19 1893-01-01 2021-01-14 Yuma, AZ US 1.0000 CITY:US040015
20 1942-02-01 2021-01-14 Yucca Valley, CA US 1.0000 CITY:US060048
21 1885-01-01 2021-01-14 Yuba City, CA US 1.0000 CITY:US060047
22 1998-02-01 2021-01-13 Yozgat, TU 0.9993 CITY:TU000056
23 1893-01-01 2021-01-14 Youngstown, OH US 1.0000 CITY:US390028
24 1894-01-01 2021-01-14 York, PA US 1.0000 CITY:US420024
25 1869-01-01 2021-01-14 Yonkers, NY US 1.0000 CITY:US360031
attr(,"class")
[1] "ncdc_locs"
tokenを毎回入力することが面倒であれば、下記を.rprofileに記述しても良いそうです。
options(noaakey = "KEY_EMAILED_TO_YOU")
ステーションの情報を見てみます。
ncdc_stations(datasetid='GHCND', locationid='FIPS:12017', stationid='GHCND:USC00084289', token = "YOUR-TOKEN-KEY")
$meta
NULL
$data
elevation mindate maxdate latitude name datacoverage
1 17.7 1899-01-01 2021-01-13 28.80286 INVERNESS 3 SE, FL US 1
id elevationUnit longitude
1 GHCND:USC00084289 METERS -82.31266
attr(,"class")
[1] "ncdc_stations"
では、データをとってみます。
out <- ncdc(datasetid='NORMAL_DLY', stationid='GHCND:USW00014895', datatypeid='dly-tmax-normal', startdate = '2010-05-01', enddate = '2010-05-10', token = "YOUR-TOKEN-KEY") head(out)
> head(out)
$meta
$meta$totalCount
[1] 10
$meta$pageCount
[1] 25
$meta$offset
[1] 1
$data
# A tibble: 10 x 5
date datatype station value fl_c
<chr> <chr> <chr> <int> <chr>
1 2010-05-01T00:00:00 DLY-TMAX-NORMAL GHCND:USW00014895 652 S
2 2010-05-02T00:00:00 DLY-TMAX-NORMAL GHCND:USW00014895 655 S
3 2010-05-03T00:00:00 DLY-TMAX-NORMAL GHCND:USW00014895 658 S
4 2010-05-04T00:00:00 DLY-TMAX-NORMAL GHCND:USW00014895 661 S
5 2010-05-05T00:00:00 DLY-TMAX-NORMAL GHCND:USW00014895 663 S
6 2010-05-06T00:00:00 DLY-TMAX-NORMAL GHCND:USW00014895 666 S
7 2010-05-07T00:00:00 DLY-TMAX-NORMAL GHCND:USW00014895 669 S
8 2010-05-08T00:00:00 DLY-TMAX-NORMAL GHCND:USW00014895 672 S
9 2010-05-09T00:00:00 DLY-TMAX-NORMAL GHCND:USW00014895 674 S
10 2010-05-10T00:00:00 DLY-TMAX-NORMAL GHCND:USW00014895 677 S
取得したデータをプロットしてみます。
out <- ncdc(datasetid='GHCND', stationid='GHCND:USW00014895', datatypeid='PRCP', startdate = '2010-05-01', enddate = '2010-10-31', limit=500, token = "YOUR-TOKEN-KEY") ncdc_plot(out, breaks="1 month", dateformat="%d/%m")
4. さいごに
いろいろな気象データを取得できるようで楽しみです。