본문 바로가기
개발활용툴

날씨 API - OpenWeather 사용하기(1)

by 즐거운코딩 2023. 12. 13.
반응형

날씨 정보는 다양한 종류에 활용도가 높은 컨텐츠 중에 하나입니다.

본인이 제공하는 주요 컨텐츠에 맞게 적절하게 사용한다면 좀 더 풍부한 정보를 가진 사이트를 만들 수 있겠습니다.

여러 종류의 날씨 API 중에서 개발용으로 무료로 사용할 수 있는 API로 OpenWeather 를 사용하는 방법에 대해 간단하게 공유하고자 합니다.

OpenWeather 특성은 전세계 날씨 데이터를 가져올 수 있고, 현재 날씨 뿐만아니라 주간날씨를 무료로 이용할 수 있습니다.

 

1.  OpenWeather 회원가입 하기

https://openweathermap.org/

 

Сurrent weather and forecast - OpenWeatherMap

Access current weather data for any location on Earth including over 200,000 cities! The data is frequently updated based on the global and local weather models, satellites, radars and a vast network of weather stations. how to obtain APIs (subscriptions w

openweathermap.org

 

날씨API 구성 예시

 

  • 회원가입은 이메일 정보만으로 가입
  • API Key 확인

  • 무료로 이용 가능한 기준은 월 100만건 호출(분당 60건) 

 

2.  API 사용 방법

 

아래와 같이 API 항목중 무료로 사용 가능한 API 는 노란색 박스로 표기

  • 현재 날씨 API 사용 방법

 📌 GPS 위치 기준으로 날씨 조회

https://api.openweathermap.org/data/2.5/weather?lat={lat}&lon={lon}&appid={API key}

옵션 파라미터는 다음과 같습니다.

1) mode : 사용하지 않으면 default 응답 포맷이 json 이고, mode를 xml, html 로 지정 가능

2) units : default는 standard (Kelvin 온도)이고, units를  metric(℃ 온도), imperial(℉ 온도) 로 지정 가능 

3) lang : 응답데이터 언어를 지정, default는 영어 이고, 한국어는 kr 를 사용

 

한국어, ℃ 온도 로 응답 받기 위해서는 아래와 같이 API를 구성하면 됩니다.

https://api.openweathermap.org/data/2.5/weather?lat=44.34&lon=10.99&lang=kr&units=metric&appid={API key}

 

  • 응답 데이터 포맷
JSON Format                          

{
  "coord": {
    "lon": 10.99,
    "lat": 44.34
  },
  "weather": [
    {
      "id": 501,
      "main": "Rain",
      "description": "moderate rain",
      "icon": "10d"
    }
  ],
  "base": "stations",
  "main": {
    "temp": 298.48,
    "feels_like": 298.74,
    "temp_min": 297.56,
    "temp_max": 300.05,
    "pressure": 1015,
    "humidity": 64,
    "sea_level": 1015,
    "grnd_level": 933
  },
  "visibility": 10000,
  "wind": {
    "speed": 0.62,
    "deg": 349,
    "gust": 1.18
  },
  "rain": {
    "1h": 3.16
  },
  "clouds": {
    "all": 100
  },
  "dt": 1661870592,
  "sys": {
    "type": 2,
    "id": 2075663,
    "country": "IT",
    "sunrise": 1661834187,
    "sunset": 1661882248
  },
  "timezone": 7200,
  "id": 3163858,
  "name": "Zocca",
  "cod": 200
}

 

상기 응답데이터중 주요 항목에 대한 설명

1) coord : 경위도 좌표

2) weather : 날씨 (비, 구름 등) 상태 와 날씨 아이콘 id 

3) main : 현재온도, 체감온도, 기압, 습도 정보

4) wind : 풍속, 풍향

5) rain : 최근 1시간 강수량

 

📌 국가와 도시이름으로 날씨 조회

https://api.openweathermap.org/data/2.5/weather?q={city name},{country code}&appid={API key}

 

예시) 영국, 런던 날씨 조회

https://api.openweathermap.org/data/2.5/weather?q=London,uk&appid={API key}

 

📌 날씨 icon 사용하기

응답받은 weather 데이터에서 icon code로 다음과 같이 icon 이미지를 가져올 수 있습니다.

URL. : https://openweathermap.org/img/wn/10d@2x.png

 

지금까지 기본적인 이용방법에 대해 설명하였고, 다음 포스트에서 실제 적용 사례를 보여드리겠습니다.

 

2023.12.14 - [개발활용툴] - 날씨 API - OpenWeather 사용하기(2)

 

날씨 API - OpenWeather 사용하기(2)

2023.12.13 - [개발활용툴] - 날씨 API - OpenWeather 사용하기(1) 날씨 API - OpenWeather 사용하기(1) 날씨 정보는 다양한 종류에 활용도가 높은 컨텐츠 중에 하나입니다. 본인이 제공하는 주요 컨텐츠에 맞게

peter-codinglife.tistory.com

 

반응형