Ни для кого не секрет, что метеорологические явления сильно влияют на всю планету, в том числе и на Республику Башкортостан. Плохая видимость, облачность, сильный ветер, гололед и большое отложение изморози, метель, ливень при большом количестве осадков за час, дождь при суточной сумме осадков — все это может оказаться опасным, если не принимать специальные меры для предотвращения серьезного ущерба в тех или иных отраслях. Технический прогресс и, особенно, современный этап развития компьютерного прогнозирования и моделирования существенно преобразили эту сферу. Мы можем прогнозировать различные явления достаточно точно, но мы не защищены от ошибок в расчетах, которые часто встречаются. Изменчивый климат и несовершенные методы расчета требуют дальнейшего тщательного изучения.
Для того, чтобы можно было следить за изменчивостью климата нам нужно иметь актуальные метеорологические данные в базах данных. Они должны быть в структурированном виде, чтобы впоследствии мы имели возможность обрабатывать их.
Есть несколько способов получения метеорологических данных. Первый способ — платить коммерческим компаниям, которые специализируются на этом. Множество компаний собирает данные с метеостанций, рассчитывает по ним погоду во всех населенных пунктах и затем может предложить эти данные потребителям. Многие веб-сайты предоставляют текущую погоду и недалекий прогноз в свободном доступе. Однако мы не можем проводить какие-либо расчеты по ним, а данные в структурированном виде, пригодные для работы предлагаются такими компаниями за деньги. Информация по более чем 4 тысячам населенных пунктов будет стоить довольно много.
Второй способ получить метеорологические данные в структурированном виде — обратиться на специальный сайт OpenWeather. Он предоставляет данные пригодные для дальнейшей работы с ними, но в бесплатном тарифе у нас есть множество ограничений, такие как 60 запросов в минуту и 1000 вызовов API в день. Что нас не очень устраивает.
Третий способ, который и был выбран — разработка собственного программного продукта, который будет получать данные из свободных источников, сохранять в базу данных в структурированном виде, и в дальнейшем предоставлять возможность обрабатывать их.
Был найден источник, который предоставляет в сети Интернет метеорологические данные на сегодня и прогноз на 5 дней вперед, который периодически корректируется. С него мы можем получить множество параметров, такие как температура, облачность, осадки, давление, влажность, скорость и направление ветра. Их нам вполне достаточно для проведения дальнейших расчетов.
Далее нужно было определиться с системой управления базой данных (СУБД). Были рассмотрены следующие актуальные СУБД: Microsoft SQL, MySQL и PostgreSQL. Остановился я на PostgreSQL из-за быстрого развития в последние года, хорошего сообщества пользователей и поддержки таких примитивов как точки, линии и полигоны, что может нам очень пригодиться в дальнейшем развитии программного продукта.
Язык программирования для серверной части программного продукта был выбран Java. Это объектно-ориентированный язык программирования, который является простым, быстрым, надежным и безопасным. Хоть он был разработан достаточно давно, он до сих пор актуален и многие компании продолжают использовать его для своих разработок.
На данном этапе развития данного программного продукта, мы можем получать метеорологические данные по всем населенным пунктам Республики Башкортостан, а также буферной зоны из соседних регионов для более точных расчетов. Всего 4063 населенных пункта и все метеорологические данные на 5 дней вперед мы получаем менее чем за 10 минут. Информация обновляется 4 раза в сутки и программный продукт настроен на получение этой информации спустя час после каждого обновления, тем самым, не создавая нагрузки на сервера источника. Таким образом, мы получаем самую актуальную информацию и сохраняем ее в структурированном виде в базе данных. Также программный продукт настроен на использование этих данных для последующих расчетов. Написано несколько функций, которые обращаются к базе данных для получения нужной информации.
Программный продукт находится в стадии развития и в дальнейшем планируется написание различных методов анализа, обработки данных и прогнозирования. Один из планируемых методов — это наблюдение за солнечным излучением. По имеющимся данным, будет рассчитываться инсоляция в каждом населенном пункте, с учетом погодных условий. Можно будет наблюдать за статистикой и тенденциями, и на их основе проводить расчеты по целесообразности использования солнечного излучения в качестве экологического источника энергии. Методы будут вызываться через собственный веб-сайт, который будет быстро и наглядно предоставлять нужную информацию для пользователя.
Библиографический список
- Давыдов, Станислав IntelliJ IDEA. Профессиональное программирование на Java / Станислав Давыдов, Алексей Ефимов. – М.: БХВ-Петербург, 2015. – 800 c.
- Стоунз PostgreSQL. Основы / Стоунз, Мэттью Ричард; , Нейл. – М.: СПб: Символ-Плюс, 2002. – 640 c.
- Мавлютов А.Р., Атнабаев А.Ф. Внедрение геоинформационных систем на предприятие / Modern Science. 2020. № 1-2 с. 298-303
- Анализ и извлечение содержимого информационных ресурсов сети Internet средствами языка php и информационных технологий / Шарипов А.А., Мавлютов А.Р., Атнабаев А.Ф. В сборнике: Перспективные информационные технологии (ПИТ 2018). Труды Международной научно-технической конференции. Под редакцией С.А. Прохорова. 2018. С. 567-570.
- Анализ программ для сбора информации из социальных сетей / Лукьянов И.В. В сборнике: Научное сообщество студентов XXI столетия. Технические науки. Электронный сборник статей по материалам LXV студенческой международной научно-практической конференции. 2018. С. 165-170.