공공데이터포털에서 “기상청 지상(종관, ASOS) 일자료 조회서비스” API를 사용하여 기상데이터를 가져와서 강수량 데이터를 가공한다.
library(httr)
library(tidyverse)
<- glue::glue("http://apis.data.go.kr/1360000/AsosDalyInfoService/getWthrDataList",
rain_req "?serviceKey={Sys.getenv('DATA_KMA_APIKEY')}",
"&numOfRows=10",
"&pageNo=1",
"&dataCd=ASOS",
"&dateCd=DAY",
"&startDt=20100101",
"&endDt=20220810",
"&stnIds=108",
"&dataType=JSON")
<- GET(rain_req, verbose())
rain_response
<- content(rain_response, "text")
rain_json
<- jsonlite::fromJSON(rain_json)
rain_list
<- rain_list$response$body$items$item
rain_df
%>%
rain_df as_tibble() %>%
select(1:5)
# A tibble: 10 × 5
stnId stnNm tm avgTa minTa
<chr> <chr> <chr> <chr> <chr>
1 108 서울 2010-01-01 -7.6 -12.7
2 108 서울 2010-01-02 -3.6 -7.4
3 108 서울 2010-01-03 -6.8 -10.5
4 108 서울 2010-01-04 -5.9 -8.0
5 108 서울 2010-01-05 -9.9 -12.3
6 108 서울 2010-01-06 -11.2 -13.3
7 108 서울 2010-01-07 -10.1 -13.6
8 108 서울 2010-01-08 -8.0 -11.8
9 108 서울 2010-01-09 -5.1 -8.7
10 108 서울 2010-01-10 -3.4 -5.3
데이터 과학자 이광춘 저작
kwangchun.lee.7@gmail.com