지도에 바람 벡터 그리기
·
대기과학/프로그래밍
- 개요대기과학을 하다보면 주로 속도, 온도, 습도와 같은 변수를 다룹니다.속도는 운동방정식, 온도는 열역학방정식, 습도(혹은 비습)는 강수 때문에(습윤 대기로 가정하면 지배방정식에 들어가지만 대학원 수준에서도 웬만해선 건조 대기로 배움) 이런 변수들을 분석하게 되죠. 이런 변수를 지도에 시각화하려면?온도, 습도와 같은 변수는 선(contour)이나 음영(shading)을 사용합니다.하지만 속도의 경우, x방향, y방향 중 한 방향의 속도(속력)은 선과 음영으로 시각화 가능하지만보통은 x, y방향의 속도를 벡터로 표현해 풍속과 풍향이 한 눈에 보이도록 시각화합니다. 시각화할 때 구글에서 남이 짠 코드를 찾아서 복사, 붙여넣기하는 것이 정석인데선과 음영을 그린 코드는 많지만 바람 벡터에 대한 코드는 적고,..
[기상청 API][ASOS 시간(hourly) 자료 다운로드] 2. 장기간 자료 다운로드 받기
·
대기과학/프로그래밍
- 개요저번 포스트에서는 기상청 API 허브에서 제공하는 기본 URL로 ASOS 시간 자료를 다운로드 했습니다.그냥 기본 URL의 변수인 tm1(시작기간), tm2(종료기간)을 설정해서 ASOS 시간 자료를 다운로드 받아보면ASOS 시간 자료는 최대 30일까지 받을 수 있다는 문제가 있습니다.31일까지면 좋을텐데 30일이 최대입니다. ㅠㅠ 그러므로 장기간의 ASOS 시간 자료를 다운로드 받으려면 파이썬 코드로 한 번에 다운 받는 자료의 길이를 30일 이내로 여러 번 API를 요청해야 합니다. 이번 포스트에서는  # 1. 다운 받을 길이를 설정하고 이를 30일 이내의 기간으로 끊어서 tm1과 tm2을 설정하는 부분# 2. 위의 함수를 기반으로 API를 여러 번 요청해서 하나의 파일로 저장하는 부분이렇게 두..
[기상청 API][ASOS 시간(hourly) 자료 다운로드] 1. 기본 제공 URL 사용
·
대기과학/프로그래밍
- 개요ASOS 일(daily) 자료는 기상자료개방포털에서 손쉽게 받을 수 있습니다.최대 10년치를 한 번에 다운로드 받을 수 있으니 50년치를 받더라도 수작업으로 5번만 다운로드 받으면 되거든요.하지만 시간(hourly) 자료는 손으로 받기에는 작업량이 너무 많습니다.그러므로 파이썬 코드를 이용해 기상청 API 허브(https://apihub.kma.go.kr/)에서 ASOS 시간 자료를 받아보고자 합니다. 이번 포스트에서는 기상청 API에서 제공하는 기본 URL을 사용해봅니다.다음 포스트에서는 이 URL을 변경하고, 일정 기간의 ASOS 자료를 csv 파일로 저장하는 법을 알아보겠습니다.   - API로 ASOS 자료 다운 받기1. 기상청 API 허브 가입하기API를 이용해 자료를 다운로드 받으려면 ..
관측 자료의 결측을 시각화하기
·
대기과학/프로그래밍
- 개요관측 자료를 다루다보면 특정 기간에 자료가 아예 없거나 결측이라고 표기된 경우가 많습니다.특히 결측이 간헐적으로 있을 때 일일이 결측 기간을 확인하기 어렵습니다.이번 포스트에서는 이런 문제를 해결하고자 결측 기간을 확인하기 위한 시각화를 해보겠습니다.- 데이터 처리ASOS나 AWS는 결측값이 많이 없기 때문에 결측이 잦은 일단위 강 수위 자료의 결측값을 시각화하겠습니다.import pandas as pdimport numpy as npimport glob""" 강 수위 자료(excel) 읽기 (시간간격은 daily) """inpath = '' # 자료의 경로 입력files = os.listdir(inpath)fns = [file for file in files if file.endswith('.x..
[folium] matplotlib을 활용한 온도 공간 분포 시각화
·
대기과학/프로그래밍
- 개요folium에서는 Choropleth이나 Polygon을 이용하여 지도에 선(contour)을 그리고, 특정 색상(shading)으로 칠할 수 있습니다.하지만 folium에서 이를 쓰려면 각 polygon의 위도, 경도값을 알아야 합니다.만약 특정 지역마다 온도값을 표현한다면 각 지역의 polygon 정보를 구한 뒤 folium을 사용해서 온도의 공간 분포를 시각화해도 됩니다.문제는 각 위도, 경도 정보를 격자형태로 가진 온도를 시각화할 때 생깁니다. Matplotlib 라이브러리로 위도, 경도의 차원인 온도를 그린다고 쳐봅시다.Matplotlib에서 contour나 contourf에 위도, 경도, 온도 값을 적당히 넣어주고 plot.show()를 치면 알아서 화면에 선도 그려주고 색도 칠해줍니다..
[folium] 지도에 ASOS 관측소 위치 표시하기
·
대기과학/프로그래밍
- 개요이전 포스트에서 matplotlib과 cartopy를 이용하여 지도에 ASOS 관측소 위치를 표시했습니다.이번에는 folium 라이브러리를 이용해서 ASOS 관측소 위치를 표시해보겠습니다. - foliumfolium은 leaflet.js의 기능을 활용해서 파이썬으로 각종 지도와 정보를 그릴 수 있게 해주는 라이브러리입니다.자세한 설명은 아래의 folium 링크를 참고해주세요.https://python-visualization.github.io/folium/latest/index.html - ASOS 관측소 위도 경도 자료 다운로드이전에 작성한 포스트의 자료 다운로드 부분을 참고해주세요.https://climate-data-science.tistory.com/5 지도에 ASOS 관측소 위치 표시하기..
[python] 지도에 대한민국 행정 단위 경계 그리기
·
대기과학/프로그래밍
- 개요저번 포스트에서 ASOS 관측소 위치를 표시했습니다.한반도 위의 ASOS 관측소 위치를 보면 대충 어느 지역에 있다는 감은 오겠지만 정확히 어디에 있는지 알 수 없습니다.이 때 행정구역 경계를 그려주면 ASOS 관측소 위치를 정확히 알 수 있습니다.또한, 서울 대기질 관측소 위치를 그린다고 치면 서울의 25개구 경계 자료를 같이 그려줘야 대기질 관측소 위치를 알기 쉽습니다.이번 포스트에서는 행정구역 경계를 그려보겠습니다. - 대한민국 행정 단위 경계 자료행정구역 경계 자료는 shp 파일의 형태로 이 자료를 그림에 얹어주면 됩니다.대한민국 행정구역 자료는 아래의 블로그에서 다운로드 받아주세요.http://www.gisdeveloper.co.kr/?p=2332 대한민국 최신 행정구역(SHP) 다운로드..
지도에 ASOS 관측소 위치 표시하기
·
대기과학/프로그래밍
-개요ASOS는 Automated Synoptic Observing System의 약자로 종관기상관측장비입니다.한반도 전역에 백여개 이상의 ASOS가 기상관측을 하고 있으며 우리는 이 정보를 기상청에서 손쉽게 확인할 수 있습니다.그렇다면 ASOS의 정확한 위치는 어디일까요? 개별 ASOS의 위치는 찾기 쉽지만 한반도에 ASOS 관측소가 어떻게 분포하고 있는지 한 눈에 확인해보는 것이 이번 포스트의 목표입니다. - ASOS 관측소 위도, 경도 자료 다운로드관측소의 위도, 경도 자료는 기상자료개발포털에서 구할 수 있습니다.https://data.kma.go.kr/tmeta/stn/selectStnList.do# 위의 링크로 들어가서 지상, 종관기상관측을 순서대로 클릭, 오른쪽 창의 전체 클릭한 다음 조회를 ..
[GK2A(천리안 2호) 위성 데이터 처리] 3. 간단한 시각화
·
대기과학/프로그래밍
GK2A 위성 데이터 처리 마지막 포스트 내용은 간단한 시각화입니다.자료를 받더라도 확인할 수 없으면 무용지물이겠죠?간단한 시각화하는 방법을 알아보겠습니다. 1. 다운로드: https://climate-data-science.tistory.com/22. NC파일 읽기: https://climate-data-science.tistory.com/3  - 위도, 경도 메타 데이터 받기위성 데이터는 특정 위도와 경도 좌표를 갖고 있고, 이를 기준으로 시각화를 해야합니다.하지만 제가 다운로드 받은 위성 데이터에는 위도, 경도 자료가 없었습니다. 1. 웹사이트 접속대체로 다른 위성 데이터에는 위도, 경도 데이터가 파일에 같이 포함되어있지만제가 받은 자료의 경우 다음 웹사이트에서 위도, 경도 데이터를 찾을 수 있습니..