Статья опубликована в рамках: Научного журнала «Студенческий» № 23(235)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6
ВЕБ-СЕРВИС УЧЁТА ОБРАЩЕНИЯ С ТВЁРДЫМИ КОММУНАЛЬНЫМИ ОТХОДАМИ С ИСПОЛЬЗОВАНИЕМ ГЕОИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
WEB SERVICE FOR ACCOUNTING FOR THE MANAGEMENT OF SOLID MUNICIPAL WASTE USING GEOINFORMATION TECHNOLOGIES
Emil Chembarisov
Student, Department of Computational Mathematics and Cybernetics, Ufa University of Science and Technology,
Russia, Ufa
АННОТАЦИЯ
В данной статье рассматривается разработка веб-сервиса учёта обращения с твёрдыми коммунальными отходами с использованием геоинформационных технологий, реализованных с помощью фреймворков FastAPI и библиотеки Folium.
ABSTRACT
This article discusses the development of a web service for accounting for the treatment of municipal solid waste using geoinformation technologies implemented using the FastAPI frameworks and the Folium library.
Ключевые слова: веб-разработка, веб-приложения, клиент-серверные приложения, геоинформационные технологии.
Keywords: web development, web applications, client-server applications, geoinformation technologies.
Введение. В современном мире проблема обращения с твёрдыми коммунальными отходами (ТКО) становится все более актуальной, о чем свидетельствуют возрастающие объемы вывозимых за год твердых коммунальных отходов [1]. Необходимость контроля за процессом сбора и утилизации ТКО в городах и поселениях требует создания эффективных инструментов учёта и мониторинга данного процесса. В данной статье рассматривается разработка веб-сервиса, основанного на использовании геоинформационных технологий, который позволит автоматизировать процесс учёта обращения с ТКО и повысить уровень информированности потребителя о возможности воспользоваться контейнером ТКО на ближайшей контейнерной площадке.
Программный продукт был реализован в виде веб-сервиса, поскольку это позволяет оперативно получать информацию о состоянии обращения с ТКО в разных районах города или поселения. Во-вторых, веб-приложение может быть легко интегрировано с другими системами. В-третьих, веб-приложение обеспечивает более удобный и гибкий доступ к данным для различных пользователей, так как не требует установки на каждом компьютере отдельного приложения и может быть запущено на любом устройстве с доступом в Интернет.
Описание программного решения. Разработанное приложение представляет собой многокомпонентное приложение с клиент-серверной архитектурой, которая позволяет контролировать доступ к данным, легко масштабировать, использовать различные клиентские устройства и операционные системы для доступа к серверу.
Взаимодействие клиента и сервера организовано в соответствии с концепцией REST, что позволяет использовать одинаковый интерфейс для всех ресурсов.
Клиентская часть приложения реализована с применением паттерна MVC, являющимся одним из самых распространенных паттернов, применяемых в веб-приложениях. Его компоненты представляют собой:
- Модель: представляет данные и бизнес-логику приложения. Он отвечает за хранение, поиск и обработку данных.
- Представление: представляет пользовательский интерфейс приложения. Он отвечает за отображение данных пользователю и получение пользовательского ввода.
- Контроллер: действует как посредник между моделью и представлением. Он получает ввод от пользователя через представление и соответствующим образом обновляет модель. Он также обновляет вид при любых изменениях в модели.
Программная реализация. Приложение состоит из модулей классификации изображений, визуализации обработанных данных на карте и авторизации. Все модули связаны с помощью API, реализованного с использованием фреймворка FastAPI. Взаимодействие с БД реализовано ORM-библиотекой SQLAlchemy. Взаимодействие с клиентом реализовано с помощью динамических HTML-страниц, которые могут изменяться в зависимости от данных, полученных от пользователя или из базы данных и обрабатываемых с помощью шаблонизатора Jinja, который предоставляет возможность разделения кода и представления.
Страница экрана авторизации представлена на рисунке 1:
Рисунок 1 Реализация экрана "Авторизация"
Для работы с гео-данным в Python предоставляет следующие инструменты:
- Basemap — это библиотека для построения карт и графиков на основе данных геопространственных объектов. Она используется для создания карт мира, региональных карт и карт, отображающих данные по странам, штатам и городам;
- GeoPandas — это библиотека для работы с геоданными в Python. Она предоставляет удобные инструменты для чтения, записи и обработки данных о геометрии, которые могут быть использованы для создания карт и графиков;
- Folium — это библиотека для создания интерактивных карт на основе данных геопространственных объектов. Она использует библиотеку Leaflet.js и позволяет создавать карты с множеством функций, таких как маркеры, линии, полигоны и т.д.;
В качестве инструмента работы с гео-данными был использован folium, т. к. он имеет такие преимущества, такие как:
- Простота использования и интеграции с другими библиотеками Python, такими как Pandas и NumPy;
- Возможность создания интерактивных карт, которые можно масштабировать, перемещать и добавлять на них различные слои данных;
- Поддержка различных типов карт, включая статические, тепловые карты, карты с маркерами и линиями и другие;
- Возможность использования различных тайловых слоев, включая OpenStreetMap, Mapbox и другие;
- Встроенная поддержка GeoJSON-файлов, что упрощает загрузку и визуализацию геоданных;
Далее, на рисунке 2 представлена реализация экрана визуализации состояний заполненности контейнеров ТКО:
Рисунок 2. Реализация экрана визуализации состояний заполненности контейнеров ТКО
Список литературы:
- ОХРАНА ОКРУЖАЮЩЕЙ СРЕДЫ В РОССИИ Статистический сборник: [Электронный ресурс] – Режим доступа: https://rosstat.gov.ru/storage/mediabank/Ochrana_okruj_sredi_2022.pdf
- FastAPI dependencies [Электронный ресурс]. URL: https://fastapi.tiangolo.com/tutorial/dependencies
- Шубенкин Д. А., Уваров А. М. СРАВНИТЕЛЬНЫЙ АНАЛИЗ BACK-END РАЗРАБОТКИ НА PYTHON // . 2022. №28 (73). URL: https://scilead.ru/article/2734-sravnitelnij-analiz-back-end-razrabotki-na-py
- Folium 0.14.0 documentation [Электронный ресурс]. URL: https://python-visualization.github.io/folium/index.html
- Pypi [Электронный ресурс]. URL: https://pypi.org/
Оставить комментарий