OpenWeatherMap – как энтузиасты делают погоду

в 13:12, , рубрики: api, javascript, mobile development, Веб-разработка, метеорология, метеостанция, мэшапы, погода, метки: , , , ,

OpenWeatherMap – как энтузиасты делают погоду
Мы живем в удивительное время, то что раньше казалось очень сложным внезапно становится доступным и простым. Задачи для решения которых надо было создавать научные институты и крупные организации, сейчас решаются саморганизованными группами энтузиастов. Энтузиасты создают карты и энциклопедии снимают фильмы и разрабатывают software. Я хочу рассказать о той области, в которую этот свежий ветер перемен еще не подул в полную силу – это погода. И нашим проектом – OpenWeatherMap — мы хотим изменить эту ситуацию!

Почему мы привыкли, что прогноз погоды это удел специализированных организаций?

Так сложилось в нашем мире, что погодой всегда занимались и занимаются изолированные от внешнего мира институты, лаборатории и крупные государственные организации. Кто и как рождает прогнозы погоды, всегда оставалось загадкой, покрытой налетом мистики. Большинство из них — это крупные государственные организации, объединенные в World Meteorological Organization

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

Нас вдохновляет пример поразительно успешных Википедии и OpenStreetMap. Мы верим, что энтузиасты, объединённые одной идеей, всегда могут достигнуть большего результата, чем крупные бюрократические организации.

Так появился проект OpenWeatherMap.

Цель проекта — свободный API

Идея свободной и доступной информации о погоде привела к тому, что мы создали и предоставили всем разработчикам приложений бесплатный API для получения разнообразных данных о погоде, такими как:
— Интерактивная карта с данными о текущей погоде
Прогноз на неделю в городе
— Исторические данные в 120 000 городах мира.
— Данные от 40 000 метеостанций по всему миру получаемые практически в режиме online. (Задержка от секунд до часа)
— Много различных web карт, включая карты облаков, осадков, ветра, температуры и т.п.

Как это работает?

OpenWeatherMap – как энтузиасты делают погоду

На входе мы имеем (1) данные от погодных станций, а также (2) прогнозы метеорологических служб и научных лабораторий. Эти данные сохраняются в базе данных OWM, а после обработки с помощью уникальных математических алгоритмов
уличной магии они превращаются в интерполированные данные о текущей погоде в любой точке мира, а также во множество карт с погодными явлениями (3). И напоследок, предоставляется (4) API ко всем данным о погоде, включая карты с погодными явлениями. А теперь немного подробнее про каждый из 4-х пунктов.

Что на входе?

Данные метеостанций

Сервис OpenWeatherMap получает данные от профессиональных и частных погодных станций. На сегодня таких станций более 40 тысяч. Большая часть из них это профессиональные станции, которые установлены в аэропортах и крупных городах мира. Но также не менее важным для сервиса являются данные от непрофессиональных станций, которые собирают и устанавливают любители везде, где это возможно. И это очень важно для нас, т.к. уровень любительских станции сейчас очень высокий, точность и, главное, оперативность передаваемой информации также находятся на очень высоком уровне. И чем больше таких станций будет подключено к OWM, тем выше будет точность как текущей информации о погоде, так и прогнозов. Любительские погодные станции это вообще отдельная тема. Но в данной статье хотелось бы подчеркнуть, что спектр таких станций очень широк. И интересно будет установить такую станцию у себя дома или на даче не только серьезному радиолюбителю, но и, например, папе с сыном. Можно купить готовую станцию стоимостью от $100 до $1000, либо собрать самому, к примеру, на Arduino.
OpenWeatherMap – как энтузиасты делают погоду

Прогнозы

Кроме погодных станций сервис OWM собирает уже обработанные данные о прогнозе погоды. Расчет глобального прогноза для всего мира требует невероятных компьютерных мощностей, и, увы, пока у нас нет своего IBM Deep Thunder. К счастью, многие метео службы разделяют нашу любовь к свободным данным и результаты работы их систем доступны. Мы используем данные двух метеослужб – американской NOAA, которые гоняют модель GFS, и канадской из Environment Canada. Обе модели глобальные и имеют своей целью скорее не предсказать конкретную погодную ситуацию в определенной точке земли, а определить общую атмосферную динамику на планете в целом. Они имеют большой шаг сетки – порядка 50 км и большой временной диапазон прогноза – 5-7 дней.
Кроме того, для отдельных регионов рассчитываются более подробные, с меньшим шагом, модели.
Мы объединяем данные разномасштабных прогнозов – от усредненных и глобальных, до локальных и более точных, соответственно. В результате web карты OpenWeatherMap работают очень удобно – для крупного масштаба используются глобальные прогнозы, а в процессе увеличения загружаются все более и более детальные данные.

OpenWeatherMap – как энтузиасты делают погоду

Но все это не было бы так интересно, если бы метеорологи не разделяли бы и нашу любовь к свободному софту! Некоторые модели используемые крупными метеослужбами доступны в OpenSource — к примеру модель WRF.

Например, группа французских энтузиастов развернула подобную систему обработки данных на своих домашних серверах и предоставляет детальные и точные прогнозы по всей территории Франции. Кстати сказать, стоимость всей их системы составила 5 тысяч долларов (Blade server на 16 ядер), что не выглядит недоступным.

OpenWeatherMap – как энтузиасты делают погоду

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

Что на выходе?
Карты — многообразие видов

После обработки «сырых» данных, которые OWM получает от метеостанций и метеорологических институтов, создаются различные интерактивные карты с данными о погоде и погодных явлениях. Это карты облаков, давления, температуры, осадков, ветра. Также это данные радаров, погодных станций и просто текущей погоды в любой точке мира.
Подробне о картах
OpenWeatherMap – как энтузиасты делают погоду

API

Сервис OpenWeatherMap предоставляет бесплатный API ко всем данным о погоде, к их истории, прогнозам и всему многообразию погодных карт.
API есть двух видов — JSON для получения данных и Tile / WMS для картографии

Используя JSON можно получать:
— Данные о погоде в более чем 120 тысячах городов. При этом города не нужно выбирать из жестко ограниченного списка, их можно найти на карте и увидеть оценочные прогнозы погоды как в самом городе, так и в ближайших регионах.
— Данные о текущей погоде в выбранной точке по координатам lat/lon
— Прогноз на 7 дней в компактной или в полной форме
— «Сырые» данные, полученные от метеостанций
— Данные о погоде за прошедшие периоды
Подробнее о метео API

Как используют наш API

Спектр применения API бесконечно широк. Это мобильные приложения для всех платформ. Это разнообразные web-сайты, которые могут использовать API для отображения текущей погоды, различных погодных графиков, виджетов и т. д. Это системы умного дома.
К примеру, один из пользователей OpenWeatherMap из Великобритании организовал систему автоматического полива своего английского садика. Для планирования количества воды и режима полива он использует данные о прогнозе осадков.

OpenWeatherMap – как энтузиасты делают погоду

OpenWeatherMap – как энтузиасты делают погоду

Почему в России все так, как всегда?

Скажу сразу, мы не предоставляем на территории России того, что называется прогноз погоды. Да и вообще не ведем на территории страны какой-либо деятельности. Данный вид деятельности в России требует лицензирования.

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

OpenWeatherMap – как энтузиасты делают погоду

А что мы можем изменить?

Мы уверены, что силами энтузиастов можно изменить ситуацию. Если Вам интересна эта тема и вы хотите помочь проекту, то есть очень много возможностей.
Вы можете, например, следующее:
— подключить свою метеостанцию
— если вы разработчик – использовать наши данные в своих проектах
— или доделать нашу мобильную версию – m.openweathermap.org
— да просто написать о нас в своем блоге

Или если вам интересна математика – очень много задач вокруг этого. К примеру – одна из наиболее важных задач в системе это определение текущей погоды. Как я уже говорилось выше, мы получаем оперативные данные от метеостанций, которые нужно интерполировать в сетку важных для географических точек – городов или отдельных районов. Данные от станций разнородны и поступают не регулярно. Более того, поступает много мусора из ошибочных и неверных измерений, их надо отсеивать. Причем ошибки могут появляться и в данных от вполне надежных метеостанций.
Сейчас мы используем достаточно жёсткий и не адаптивный алгоритм. Очень хотелось бы попробовать в этой задаче какой-либо обучающийся алгоритм.
Очень интересно попробовать в схожей задаче нейросеть.

Или, к примеру, внешний вид карт. Очень хочется сделать свой слой на основе данных OpenStreetMap с меньшим количеством подробностей, но более естественно выглядящий. Если есть идеи, очень рады будем, особенно, если вы знаете как их реализовать на mapnik.

Нам нужны все, способные держать оружие!

Архитектура

Я не буду подробно останавливаться на архитектуре системы, проведу общую картинку для иллюстрации:
OpenWeatherMap – как энтузиасты делают погоду
Архитектура -одна шт.

Мы используем только Open Source software, среди которых NgInx, Apache, PHP, Tilecache, OpenLayers, Leaflet, Mapnik, PostGIS, Memcache, MongoDB, Gearman, MySQL, Python and more.

PS

Небольшое лирическое отступление.
Сейчас модный термин bigdata становится продающим брендом, который активно используют все акулы ИТ рынка. Но кроме чистого маркетинга это имеет и огромное влияние на всю индустрию – суть в том, что стоимость транзакции и стоимость хранения больших объёмов информации падает колоссальными темпами, да практически стремится к нулю. Это открывает необыкновенные возможности не только для крупных игроков рынка, но и для небольших. Грубо говоря, несколько лет назад стоимость разработки и поддержки системы с объёмом данных в несколько терабайт и нагрузкой в тысячи транзакций в секунду была неподъемной для небольшой компании, и тем более для энтузиастов. Сейчас все меняется!
Bigdata становится доступной. Это революция, в которой может участвовать каждый!

Собственно отсюда и ответ на вопрос, который мне часто задают — а почему бесплатно? Мы считаем, что строить бизнес на платном API это путь в ад, как в технологическом, так и в коммерческом плане. Наш API останется бесплатным всегда – это основная идея и цель проекта.

Что будет дальше?

Сама идея свободной погоды дает возможности для развития проекта. В данный момент мы уже работаем над новыми направлениями и функциями, такими как:
• Социальность. Это возможность сказать – нет, в нашем городе сейчас не падает снег, а светит солнце и цветут цветы. Это значит, что метеостанция в городе выдает неверные данные, и мы будем искать другие возможности для поддержки точной погоды в этом городе. Автоматические алгоритмы это хорошо, но люди лучше.
• Будем продолжать подключать к проекту внешние расчетные модули для детальной информации по регионам.
• Продвижение идеи любительских погодных станций и подключение их к OpenWeatherMap
• Использование OpenWeatherMap для агропромышленной индустрии, тут потребность в локальных прогнозах очень высока
• Разработка специализированных метеорологических приложений
• Ну и конечно мы очень надеемся на ВАШУ помощь!

Автор: Dennsy

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js