OpenWeatherMap, 무료 날씨 데이터 API 사용법 본문

개발 관련 유용한 아이템들

OpenWeatherMap, 무료 날씨 데이터 API 사용법

알 수 없는 사용자 2021. 6. 11. 23:02

안녕하세요, 데브지안 입니다!

 

오늘은 날씨와 관련된 데이터들을 API를 통해 제공해주는 openweathermap 사이트에 대해 알아볼게요.

 

사이트

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를 얻으려면 우선 가입을 해야합니다. 

 

가입을 하셨다면 페이지 우측 상단에 자신의 프로필 버튼을 눌러 api key를 확인할 수 있어요.

 

 

저는 간단하게 현재날씨를 가져오는 API를 호출해 보겠습니다.

api.openweathermap.org/data/2.5/weather?q={city name}&units=metric&lang=kr&appid={API key}

여기서 사용되는 쿼리 파라미터를 간단히 살펴볼게요.

 

q에는 도시 이름이 영문으로 들어가야 합니다. 저는 seoul을 넣어볼게요.

 

units에는 온도의 단위를 설정합니다. metric은 섭씨, imperial은 화씨에요. 아무것도 넣지 않으시면 켈빈온도임에 주의하세요!

 

lang에는 날씨정보와 관련된 데이터를 해당 언어로 받을 수 있다고 합니다. 자세한 사항은 https://openweathermap.org/current#multi 여기를 참고해주세요.

 

appid에는 본인의 api key를 넣어주시면 됩니다!

 

자 이제 URL을 작성해서 요청하면,

// 20210611225022
// https://api.openweathermap.org/data/2.5/weather?q=seoul&units=&lang=kr&appid=bfaa613564b6762cbea175fd750e8735

{
  "coord": {
    "lon": 126.9778,
    "lat": 37.5683
  },
  "weather": [
    {
      "id": 701,
      "main": "Mist",
      "description": "박무",
      "icon": "50n"
    }
  ],
  "base": "stations",
  "main": {
    "temp": 292.53,
    "feels_like": 292.9,
    "temp_min": 291.91,
    "temp_max": 293.88,
    "pressure": 1013,
    "humidity": 91
  },
  "visibility": 1200,
  "wind": {
    "speed": 2.57,
    "deg": 280
  },
  "clouds": {
    "all": 75
  },
  "dt": 1623419189,
  "sys": {
    "type": 1,
    "id": 8105,
    "country": "KR",
    "sunrise": 1623355826,
    "sunset": 1623408789
  },
  "timezone": 32400,
  "id": 1835848,
  "name": "Seoul",
  "cod": 200
}

 

기본적으로 이렇게 JSON 포맷의 데이터를 응답받을 수 있습니다. 물론 추가 파라미터를 이용해 html이나 xml로도 받아볼 수 있다고 해요.

 

 

오늘은 이렇게 openweathermap 사이트에 대해 간단히 알아보았는데요.

현재날씨 말고도 과거의 날씨 데이터 및 날씨예보 데이터도 제공한다고 합니다!

 

다만 빌링플랜에 따라서 제공되는 데이터 또는 기능에 제한이 있을 수 있기 때문에 무료로 쓰시려고 할 경우 원하시는 데이터를 무료플랜에서 제공하는지 확인하시고 사용하시면 될 것같아요.

 

라이센스는 ODbL이기 때문에 저작권 표기만 잘 하시면 어떤 용도로든 사용가능하다고 해요!

 

해당 API를 이용해 간단히 만든 WebApp의 깃허브 저장소도 남겨 놓을게요.

 

https://github.com/dev-jian/weather-js

 

dev-jian/weather-js

get weather datas from openweathermap. Contribute to dev-jian/weather-js development by creating an account on GitHub.

github.com

 

유용하게 사용하셨으면 좋겠습니다 !

 

Comments