OpenWeatherMap инструкция на русском

OpenWeatherMap

В современном мире, где информация становится все более доступной и важной, точное прогнозирование погоды становится ключевым инструментом для людей в различных сферах жизни. От путешественников и любителей активного отдыха до фермеров и разработчиков программного обеспечения, все они нуждаются в доступе к актуальным и надежным данным о погоде. И здесь на помощь приходит OpenWeatherMap.

Что такое OpenWeatherMap?

OpenWeatherMap (OWM) - это платформа, предоставляющая доступ к погодным данным по всему миру. Запущенная в 2012 году, она быстро стала одним из ведущих источников погодной информации благодаря своей открытой политике и доступности API.

Что делает OpenWeatherMap особенным?

  1. Масштаб и покрытие: OpenWeatherMap собирает информацию о погоде со всех уголков планеты. Благодаря сотням тысяч погодных станций и датчиков, а также сети наблюдений пользователей, покрытие OWM охватывает практически каждый уголок земного шара.
  2. Открытое API: Одним из наиболее привлекательных аспектов OpenWeatherMap является его открытое API. Это позволяет разработчикам создавать разнообразные приложения и сервисы, используя погодные данные OWM в своих проектах. Благодаря API, информация о погоде становится доступной для интеграции в веб-сайты, мобильные приложения, системы управления и многое другое.
  3. Разнообразие данных: OpenWeatherMap предоставляет не только базовые данные о текущей погоде и прогнозах, но и множество других параметров, таких как скорость и направление ветра, уровень осадков, атмосферное давление, индексы UV и многое другое. Это делает OWM полезным инструментом для широкого спектра приложений, от анализа климата до создания персонализированных уведомлений о погоде.
  4. Геопространственные данные: OpenWeatherMap также предоставляет геопространственные данные, такие как информация о населенных пунктах, координаты, границы регионов и другие сведения, что делает его ценным ресурсом для разработчиков, работающих с географической информацией.

Применение OpenWeatherMap

  1. Путешественники: Путешественники могут использовать данные OpenWeatherMap для планирования своих маршрутов и подготовки к погодным условиям в различных регионах мира.
  2. Фермеры и сельскохозяйственные предприятия: Для фермеров и сельскохозяйственных предприятий знание о погодных условиях имеет решающее значение. OpenWeatherMap предоставляет им актуальные данные для принятия решений относительно посевов, орошения и уборки урожая.
  3. Разработчики приложений: Разработчики мобильных приложений и веб-сайтов могут использовать OpenWeatherMap для интеграции погодных функций в свои продукты, такие как отображение текущей погоды, прогнозы, уведомления о погоде и многое другое.
  4. Научные исследования: Ученые и исследователи могут использовать данные OpenWeatherMap для анализа климатических изменений, изучения погодных условий в различных регионах и прогнозирования экстремальных погодных явлений.

Как получить API ключ OpenWeatherMap

Чтобы получить API ключ OpenWeatherMap, следуйте этим простым шагам:

  1. Зарегистрируйтесь на сайте OpenWeatherMap: Перейдите на официальный сайт OpenWeatherMap.
  2. Заполните форму регистрации: Введите свой адрес электронной почты, создайте пароль и подтвердите его. Заполните необходимые поля и нажмите кнопку "Sign Up" (Зарегистрироваться).
  3. Подтвердите свой аккаунт: После завершения регистрации вам придет письмо на указанный адрес электронной почты с инструкциями по подтверждению аккаунта. Перейдите по ссылке в письме для подтверждения.
  4. Войдите в свой аккаунт: После подтверждения аккаунта вернитесь на сайт OpenWeatherMap и войдите в свой аккаунт, используя адрес электронной почты и пароль, которые вы указали при регистрации.
  5. Получите API ключ: После входа в аккаунт перейдите на страницу My API Keys. Здесь вы найдете свой уникальный API ключ, который можно использовать для доступа к погодным данным через API OpenWeatherMap.
  6. Сохраните ключ: Скопируйте свой API ключ. Обязательно храните свой ключ в безопасном месте, так как он будет использоваться в ваших приложениях или скриптах для доступа к погодным данным.
OpenWeatherMap API ключ

Теперь у вас есть API ключ OpenWeatherMap, который вы можете использовать для получения погодных данных через API. При создании приложений или интеграции с вашими проектами обязательно следуйте инструкциям по использованию API, чтобы получить доступ к необходимым данным о погоде.

Бесплатное использование OpenWeatherMap

OpenWeatherMap предлагает разнообразные тарифные планы, включая бесплатный тариф, позволяющий разработчикам опробовать сервис.

Ограничения бесплатного тарифа:

  • 60 запросов в минуту
  • 1 000 000 запросов в месяц
  • Базовый доступ к данным (текущая погода, прогноз погоды на 5 дней и т.д.)

Этого вполне достаточно для небольших проектов. Посмотреть пример проекта на бесплатном тарифе OpenWeatherMap можно по ссылке https://pogoda.pogrommist.ru/498817/

Как получить текущую погоду на OpenWeatherMap

Данные доступны в формате JSON, XML или HTML.

Для получения данных о текущей погоде необходимо сделать запрос по адресу:

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

latобязательный параметр. Широта

lonобязательный параметр. Долгота

appidобязательный параметр. Ваш уникальный API-ключ

modeнеобязательный параметр. Формат ответа. Возможные значения: xml и html. Если параметр не указан, то по умолчанию используется json.

unitsнеобязательный параметр. Единицы измерения. Доступные варианты: standardmetricи imperial. По умолчанию используется standard.

Если Вам необходимо автоматическое преобразование названий городов в координаты, то необходимо использовать Geocoder API.

Пример запроса для текущей погоды в Санкт-Петербурге:

https://api.openweathermap.org/data/2.5/weather?lon=30.26&lat=59.89&units=metric&appid=2f3c1bad2f3c1bad2f3c1bad2f3c1bad&lang=ru

Ответ в формате JSON:

{
    "coord": {
        "lon": 30.2642,
        "lat": 59.8944
    },
    "weather": [
        {
            "id": 804,
            "main": "Clouds",
            "description": "пасмурно",
            "icon": "04n"
        }
    ],
    "base": "stations",
    "main": {
        "temp": 7.8,
        "feels_like": 5.3,
        "temp_min": 5.26,
        "temp_max": 8.08,
        "pressure": 1002,
        "humidity": 92
    },
    "visibility": 10000,
    "wind": {
        "speed": 4,
        "deg": 230
    },
    "clouds": {
        "all": 100
    },
    "dt": 1714078768,
    "sys": {
        "type": 2,
        "id": 197864,
        "country": "RU",
        "sunrise": 1714097407,
        "sunset": 1714153379
    },
    "timezone": 10800,
    "id": 498817,
    "name": "Санкт-Петербург",
    "cod": 200
}

Поля ответа API формата JSON

  • coord
    • coord.lonДолгота местоположения
    • coord.latШирота места
  • weather
    • weather.idИдентификатор погодных условий
    • weather.mainГруппа параметров погоды (дождь, снег, облака и т. д.)
    • weather.descriptionПогодные условия внутри группы.
    • weather.iconИдентификатор значка погоды
  • baseВнутренний параметр
  • main
    • main.tempТемпература. Единица измерения по умолчанию: Кельвин, Метрическая система: Цельсий, Британская система: Фаренгейт.
    • main.feels_likeТемпература. Этот температурный параметр отвечает за восприятие человеком погоды. Единица измерения по умолчанию: Кельвин, Метрическая система: Цельсий, Британская система: Фаренгейт.
    • main.pressureАтмосферное давление на уровне моря, гПа
    • main.humidityВлажность, %
    • main.temp_minМинимальная температура на данный момент. Это минимальная наблюдаемая в настоящее время температура (в пределах крупных мегаполисов и городских территорий). Единица измерения по умолчанию: Кельвин, Метрическая система: Цельсий, Британская система: Фаренгейт.
    • main.temp_maxМаксимальная температура на данный момент. Это максимальная наблюдаемая в настоящее время температура (в пределах крупных мегаполисов и городских территорий). Единица измерения по умолчанию: Кельвин, Метрическая система: Цельсий, Британская система: Фаренгейт.
    • main.sea_levelАтмосферное давление на уровне моря, гПа
    • main.grnd_levelАтмосферное давление на уровне земли, гПа
  • visibilityВидимость. Максимальное значение видимости 10 км. Единица измерения: метр.
  • wind
    • wind.speedСкорость ветра. Единица измерения по умолчанию: метр/сек, Метрическая система: метр/сек, Британская система: мили/час.
    • wind.degНаправление ветра, градусы (метеорологические)
    • wind.gustПорыв ветра. Единица измерения по умолчанию: метр/сек, Метрическая система: метр/сек, Британская система: мили/час.
  • clouds
    • clouds.allОблачность, %
  • rain
    • rain.1h (при наличии) Объем дождя за последний 1 час, мм. Обратите внимание, что для этого параметра доступны только мм в качестве единиц измерения.
    • rain.3h (при наличии) Объем дождя за последние 3 часа, мм. Обратите внимание, что для этого параметра доступны только мм в качестве единиц измерения.
  • snow
    • snow.1h(при наличии) Объем снега за последний час, мм. Обратите внимание, что для этого параметра доступны только мм в качестве единиц измерения.
    • snow.3h (при наличии) Объем снега за последние 3 часа, мм. Обратите внимание, что для этого параметра доступны только мм в качестве единиц измерения.
  • dtВремя расчета данных, unix, UTC
  • sys
    • sys.typeВнутренний параметр
    • sys.idВнутренний параметр
    • sys.messageВнутренний параметр
    • sys.countryКод страны (Великобритания, Япония и т. д.)
    • sys.sunriseВремя восхода солнца, unix, UTC
    • sys.sunsetВремя заката, unix, UTC
  • timezoneСдвиг в секундах от UTC
  • id Идентификатор города.
  • name Название города.
  • codКод ответа
Если вы не видите некоторых параметров в ответе API, это означает, что эти погодные явления просто не произошли в выбранном городе или месте на момент запроса. В ответе API отображаются только реально измеренные или рассчитанные данные.

Запрос текущей погоды по названию города

https://api.openweathermap.org/data/2.5/weather?q=Санкт-Петербург&units=metric&appid=2f3c1bad2f3c1bad2f3c1bad2f3c1bad&lang=ru
Текущая погода в Санкт-Петербурге

или с названием города и кодом страны:

https://api.openweathermap.org/data/2.5/weather?q=Париж,RU&units=metric&appid=2f3c1bad2f3c1bad2f3c1bad2f3c1bad&lang=ru
Текущая погода в Париже, Россия

Параметры запроса:

qобязательный параметр. Название города, код штата и код страны, разделенные запятой. Коды штатов и стран см. в стандарте ISO 3166.

Вы можете указать параметр не только на английском языке. В этом случае ответ API должен быть возвращен на том же языке, что и язык запрошенного названия местоположения, если местоположение находится в предопределенном списке, состоящем из более чем 200 000 местоположений.

appidобязательный параметр. Ваш уникальный API-ключ.

modeнеобязательный параметр. Формат ответа. Возможные значения: xml и html. Если параметр не указан, то по умолчанию используется json.

unitsнеобязательный параметр. Единицы измерения. Доступные варианты: standardmetricи imperial. По умолчанию используется standard.

langнеобязательный параметр. Язык ответа.

Запрос текущей погоды по коду города

https://api.openweathermap.org/data/2.5/weather?id=498817&units=metric&appid=2f3c1bad2f3c1bad2f3c1bad2f3c1bad&lang=ru

Параметры запроса:

idобязательный параметр. Идентификатор города. Список городов с идентификатором «city.list.json.gz» можно скачать здесь .

appidобязательный параметр. Ваш уникальный API-ключ.

modeнеобязательный параметр. Формат ответа. Возможные значения: xml и html. Если параметр не указан, то по умолчанию используется json.

unitsнеобязательный параметр. Единицы измерения. Доступные варианты: standardmetricи imperial. По умолчанию используется standard.

langнеобязательный параметр. Язык ответа.

Поддерживаемые языки ответа

  • afАфриканский
  • alАлбанский
  • arАрабский
  • azАзербайджанский
  • bgБолгарский
  • caКаталанский
  • czЧешский
  • daДатский
  • deНемецкий
  • elГреческий
  • enАнглийский
  • euБаскский
  • faПерсидский (фарси)
  • fiФинский
  • frФранцузский
  • glГалисийский
  • heИврит
  • hiХинди
  • hrХорватский
  • huВенгерский
  • idИндонезийский
  • itИтальянский
  • jaЯпонский
  • krКорейский
  • laЛатышский
  • ltЛитовский
  • mkМакедонский
  • noНорвежский
  • nlГолландский
  • plПольский
  • ptПортугальский
  • pt_brПортугалия, Бразилия
  • roРумынский
  • ruРусский
  • sv, seШведский
  • skСловацкий
  • slСловенский
  • sp, esИспанский
  • srСербский
  • thТайский
  • trТурецкий
  • ua, ukУкраинский
  • viВьетнамский
  • zh_cnКитайский упрощенный
  • zh_twКитайский традиционный
  • zuЗулу

Коды ошибок в ответах на запросы

401 – эта ошибка связанна с API-ключом. Возможные причины:

  • API-ключ не указан.
  • API-ключ не активирован. В данном случае необходимо повторить запрос через несколько часов.
  • Неправильно указан API-ключ.
  • Используется API-ключ бесплатного тарифа для получения данных из платного тарифа.

404 – эта ошибка связана с неправильным запросом. Возможные причины:

  • Указано неправильное название города, почтовый индекс или идентификатор города.
  • Неправильный запрос к API. Проверьте запрос на ошибки. Используйте примеры запросов из документации.

429 – эта ошибка связана с API-ключом. Ошибка возникает при превышении лимитов тарифа.

500, 502, 503 или 504 – при возникновении данных ошибок необходимо связываться с технической поддержкой OpenWeatherMap.

Пример как можно использовать бесплатный API от OpenWeatherMap – https://pogoda.pogrommist.ru