ПИРО (Публичный Информационный Реестр Огонь) – это специализированная
база данных, созданная в городе Алушта для автоматизации
сбора, хранения и анализа информации о пожарах, их причинах и мерах
реагирования. Система объединяет данные из нескольких источников:
службы спасения, муниципальные органы, GIS‑карты, а также
пользовательские сообщения через мобильные приложения.
Основные задачи системы
- Регистрация всех зафиксированных пожаров в режиме реального времени.
- Хранение подробных атрибутов: место, время, тип возгорания, задействованные ресурсы.
- Аналитика и построение статистики (частота, сезонность, «горячие» зоны).
- Поддержка оперативного взаимодействия между службами МЧС, полицией и муниципальными службами.
- Обеспечение публичного доступа к агрегированной информации для граждан и исследователей.
Техническая архитектура
Слой хранения данных
В основе ПИРО лежит гибридная модель хранения:
- Реляционная СУБД (PostgreSQL 15) – хранит «табличные» данные:
- События (таблица
fires). - Ресурсы (техника, персонал –
resources). - Пользователи и их роли (
users).
- События (таблица
- Графовая база данных (Neo4j 5) – моделирует взаимосвязи между объектами:
- Связи «пожар‑объект», «пожар‑ресурс», «ресурс‑оперативный‑центр».
- Поиск «самых уязвимых» объектов через алгоритмы центральности.
- Геопространственный слой (PostGIS) – хранит координаты, полигоны
охраняемых территорий и позволяет выполнять пространственные запросы.
Приложенческий слой
Веб‑интерфейс реализован на React + TypeScript с бекендом
Node.js (Express). Для мобильных операторов (Android/iOS) используется
Flutter, позволяющий быстро отправлять сообщения о возгорании
(гео‑координаты, фото, комментарий).
Интеграция с внешними системами
- API OpenStreetMap – базовые карты и слои «запретных зон».
- Система Flightradar24 (только в случае пожаров рядом с аэропортами) – для корреляции воздушных маршрутов.
- Служба Электронного документооборота муниципального управления – автоматическое формирование актов.
Как происходит ввод и обработка данных
Регистрация события
- Пользователь (оперативный сотрудник или гражданин) открывает мобильное приложение.
- Приложение автоматически получает GPS‑координаты и предлагает добавить фото.
- Заполняються обязательные поля: тип возгорания, время обнаружения, описание.
- Данные отправляются через HTTPS‑POST запрос в бекенд.
- Бекенд записывает событие в
fires(реляционная часть) и одновременно создаёт вершину в Neo4j,
связывая её с ближайшим объектом инфраструктуры (дом, лес, промышленный объект).
Автоматическое обогащение
После записи запускается pipeline на Apache Airflow:
- Получение погодных данных (температура, влажность, ветер) из OpenWeatherMap.
- Определение «рисковой зоны» с помощью гео‑аналитики (буфер 500 м вокруг точки).
- Отправка уведомления в Telegram‑бот и SMS‑рассылку (см. ниже) всем ответственным подразделениям.
Обработка и аналитика
Для аналитических задач используется SQL‑аналитика и Cypher‑запросы к графовой базе.
Пример запроса: «Найти все пожары, связанные с объектом типа «школа», произошедшие за последние 30 дней».
SELECT f.id, f.time, f.location
FROM fires f
JOIN objects o ON ST_DWithin(f.location, o.geometry, 100)
WHERE o.type = 'school' AND f.time > now ⏤ interval '30 days';
Аналогичный запрос в Neo4j:
MATCH (f:Fire)-[:OCCURRED_NEAR]->(o:Object {type:'school'})
WHERE f.time > datetime.epochMillis ⏤ 302460601000
RETURN f.id, f.time, f.location;
Доступ и безопасность
Роли пользователей
| Роль | Права |
|---|---|
| Администратор | Полный доступ к БД, управление пользователями, резервные копии. |
| Оператор МЧС | Создание/редактирование событий, просмотр всех ресурсов. |
| Сотрудник муниципалитета | Только чтение агрегированных данных, формирование отчетов. |
| Гражданин | Доступ к публичному API (только агрегированные статистические данные). |
Маскирование персональных данных
При публикации в открытом доступе все персональные сведения (ФИО, телефон, адрес) заменяются
на маску . Пример:
- Ответственный за объект: Иванов
- Телефон: +7 ( ) ‑‑
- Адрес: ул; , д. **, Алушта
Технические меры защиты
- Шифрование «на лету» (TLS 1.3) для всех соединений.
- Хранение паролей в виде bcrypt‑хэшей.
- Регулярные резервные копии (ежедневно, хранение в облаке Yandex Object Storage).
- Контроль доступа на уровне запросов (Row‑Level Security в PostgreSQL).
Примеры практического применения
Оперативное реагирование
В 2024 году система ПИРО помогла сократить среднее время реагирования
с 15 минут до 7 минут благодаря автоматическому распределению ресурсов
по алгоритму «наименьшее расстояние + доступность техники».
Статистический отчёт за 2025 год
| Показатель | Значение |
|---|---|
| Всего зарегистрировано пожаров | 112 |
| Пожары в жилой зоне | 68 (61 %) |
| Средняя площадь возгорания | 0.85 га |
| Самый «горячий» район | ул. * (около 3 км²) |
Научные исследования
Университет * использует открытый API ПИРО для построения моделей
предсказания пожаров на основе машинного обучения (Random Forest, XGBoost).
Результаты публикуются в журнале «Теория и практика управления рисками».
Как подключиться к публичному API
Для получения агрегированных данных необходимо выполнить HTTP‑GET запрос к:
https://api.piro-alushta.gov.ua/v1/stats?year=2025&format=json Пример ответа (сокращённый):
{
"year":2025,
"total_fires":112,
"by_type":{
"forest":34,
"building":68,
"industrial":10
},
"hot_spots":[
{"district":"","fires":12},
{"district":"","fires":9}
]
}
Перспективы развития
- Внедрение IoT‑датчиков (температура, дым) в уязвимых зонах.
- Расширение аналитики с помощью глубокого обучения (CNN‑модели для анализа фото).
- Интеграция с метеорологическими моделями для предиктивного предупреждения.
- Публичный дашборд в реальном времени с картой «горячих точек» и историей событий.
База данных ПИРО Алушта – это современный пример того, как
гибридные технологии (реляционные, графовые и геопространственные базы)
могут объединяться в единой системе для повышения эффективности
борьбы с пожарами. Благодаря открытой архитектуре, строгой защите персональных
данных и постоянному развитию аналитических возможностей, ПИРО уже сегодня
служит важным инструментом для спасения жизней и сохранения имущества
жителей Алушты.
Составлено в 15:43:21 (UTC). Все контактные данные скрыты в соответствии с политикой конфиденциальности.