Объект исследования: Радиационное загрязнение территории Республики Беларусь и современные способы его картографической визуализации.
Предмет исследования: Методы и технологии создания интерактивной веб-карты для отображения пространственного распределения радионуклидов (Цезий-137, Стронций-90 и мощность дозы) на территории Республики Беларусь.
Цель исследования: Разработка интерактивной геоинформационной системы (веб-карты), позволяющей наглядно визуализировать распределение радионуклидов и обеспечивать удобный анализ данных для пользователей различного уровня подготовки.
Проект реализует комплексный подход к визуализации данных, разделяя уровни опасности по цветовой шкале:
| Уровень опасности | Цвет | Индикатор | Рекомендации |
|---|---|---|---|
| Норма | 🟢 Зеленый | < 0.1 мкЗв/ч | Безопасно для проживания |
| Повышенный | 🟡 Желтый | 0.1 - 0.2 мкЗв/ч | Требуется периодический мониторинг |
| Высокий | 🟠 Оранжевый | 0.2 - 0.3 мкЗв/ч | Ограниченный доступ к лесным ресурсам |
| Очень высокий | 🔴 Красный | 0.3 - 0.5 мкЗв/ч | Зона жесткого контроля |
| Критический | 🟤 Темно-красный | > 0.5 мкЗв/ч | Зона отчуждения / отселения |
- Динамическая инфографика: Топ-10 наиболее загрязненных районов в реальном времени.
- Многослойность: Переключение между изотопами Cs-137, Sr-90 и мощностью дозы.
- Пространственный анализ: Использование GeoJSON для точной отрисовки границ 118 административных районов.
- React 18 & TypeScript: Строгая типизация и компонентный подход.
- Leaflet & React-Leaflet: Мощный движок для интерактивных карт.
- Framer Motion: Анимированные переходы и частицы для визуализации "радиационного фона".
- Tailwind CSS & shadcn/ui: Эстетичный интерфейс в стиле Glassmorphism.
- Node.js & Express: Высокопроизводительный сервер.
- Drizzle ORM: Безопасное взаимодействие с базой данных PostgreSQL.
- Node-cron: Автоматизированный сбор и обновление данных (каждые 2 дня).
- Zod: Валидация входных данных на всех этапах.
graph TD
A[Клиент React] --> B{API Routes}
B --> C[Radiation Service]
C --> D[Storage Layer / DB]
C --> E[Data Refresh Cron]
E --> F[Hydromet Data Source]
A --> G[Leaflet Map Engine]
G --> H[GeoJSON Districts]
- Установка зависимостей:
npm install
- Запуск в режиме разработки:
npm run dev
- Сборка для продакшена:
npm run build
- Визуализация всех 118 районов.
- Система цветовой индикации уровней загрязнения.
- Автоматическое обновление данных.
- Интеграция исторических графиков изменения фона.
- Экспорт данных в форматы PDF/CSV.
- Мобильное приложение для полевых исследований.
Автор проекта: Лешкевич Алексей, 11Г класс Научный консультант: Данные Белгидромета (rad.org.by) Лицензия: Образовательная (Educational Use Only)