주제: [기상청 API 허브][위성 데이터] 실시간 위성 데이터 수집 코드 구현하기 (코드 포함)
작성: 2024-03-14
해당 포스팅은 "오픈 API 활용한 실시간 기상데이터 수집" 관련 마지막 포스팅입니다.
🧑🏻💻 API 활용한 실시간 기상데이터 수집 ☁️
1. 사이트 소개 - 2024.02.25 - [✔ Python/10. Others] - [기상청 API 허브] API 활용한 기상자료 쉽게 다운받기
2. 코드 구현(1) - 2024.03.01 - [✔ Python/10. Others] - [기상청 API 허브] 지상관측 데이터 다운받기 (1/2)
3. 코드 구현(2) - 2024.03.14 - [✔ Python/10. Others] - [기상청 API 허브] 지상관측 데이터 다운받기(2/2)
4. 코드 구현(3) - 2024.03.14 - [✔ Python/10. Others] - [기상청 API 허브] 위성 데이터 다운받기 (코드 포함)
이전 포스팅에서는 지상관측 데이터 다운로드를 하여봤습니다.
이번 포스팅에서는 천리안 2A호의 L2 산출물 중 하나인 구름탐지(CLD) 데이터 다운로드하여보겠습니다.
위성데이터 URL
위성데이터 다운로드도 앞서 진행한 지상관측 URL 호출과 크게 다르지 않습니다. 다만, 다운로드하고자 하는 데이터마다 호출 URL이 상이합니다. 호출 URL 정보는 "기상청 API 허브"에서 모두 제공하고 있습니다. 어렵지 않습니다. 포기하지 마세요@@
필자는 이진파일(NetCDF) 형태로 GK2A 산출물을 다운로드하여보도록 하겠습니다.
- 지상관측 데이터 URL 예시
- https://apihub.kma.go.kr/api/typ01/url/kma_sfctm3.php?tm1=202401010000&tm2=202401022300&stn=108&authKey=인증키
- 천리안 2A 데이터 URL 예시
- https://apihub.kma.go.kr/api/typ05/api/GK2A/LE2/CLD/AREA/data?date=202401010000&authKey=인증키"
샘플코드 구현하기
해당 데이터를 다운로드할 수 있는 직관적인 샘플코드를 구현해 보겠습니다.
import requests
def download_file(file_url, save_path):
with open(save_path, 'wb') as f:
response = requests.get(file_url)
folder_path = './data'
area = "ko"
projection_name = "lc"
formatted_time_str = '202402120110'
API_KEY = '개인키를 작성합니다'
save_file_path = f'{folder_path}gk2a_ami_le2_sst_{area}020{projection_name}_{formatted_time_str}.nc'
API_URL = f"https://apihub.kma.go.kr/api/typ05/api/GK2A/LE2/CLD/{str(area).upper()}/data?date={formatted_time_str}&authKey={API_KEY}"
download_file(API_URL, save_file_path)
단순히 다운로드한 데이터 확인하고 싶으신 경우, Panoply 활용하는 걸 추천드립니다.
추후 개별 적용 고려하기
위에서 구현한 샘플코드는 단순히 하나의 데이터만 다운로드한 샘플코드입니다.
본인이 원하는 기간 또는 실시간으로 데이터를 수집하도록 만들기 위해서는 FOR문 등을 활용하여 구현이 필요합니다.
개인 외에 사용하는 목적이라면, configuration 파일을 따로 생성하여 인자들을 받아서 사용하는 방안을 권고드립니다.
이를 통해서 API 인증키 노출의 최소화 및 코드관리가 용이해지기 때문이죠.
여기까지가 "오픈 API 활용한 실시간 기상데이터 수집"이었습니다. 4번째 포스팅까지 모두 완독해 주신 분들께 감사인사드리며,
질문이 있으신 경우, 댓글 남겨주시면 빠르게 회신드리도록 하겠습니다.
관련 글
🧑🏻💻 API 활용한 실시간 기상데이터 수집 ☁️
1. 사이트 소개 - 2024.02.25 - [✔ Python/10. Others] - [기상청 API 허브] API 활용한 기상자료 쉽게 다운받기
2. 코드 구현(1) - 2024.03.01 - [✔ Python/10. Others] - [기상청 API 허브] 지상관측 데이터 다운받기 (1/2)
3. 코드 구현(2) - 2024.03.14 - [✔ Python/10. Others] - [기상청 API 허브] 지상관측 데이터 다운받기(2/2)
4. 코드 구현(3) - 2024.03.14 - [✔ Python/10. Others] - [기상청 API 허브] 위성 데이터 다운받기 (코드 포함)
728x90
반응형
'Python > 5️⃣ 웹' 카테고리의 다른 글
[HTTP 상태코드] 404 오류: 에러의 정체는? (0) | 2024.07.12 |
---|---|
[기상청 API 허브] 지상관측 데이터 다운받기(2/2) (0) | 2024.03.14 |
[기상청 API 허브] 지상관측 데이터 다운받기 (1/2) (0) | 2024.03.01 |
[기상청 API 허브] API 활용한 기상자료 쉽게 다운받기 (32) | 2024.02.25 |