Skip to content

freshworkertech/radiation-map

Repository files navigation

RadEcoMap — Интерактивная веб-карта радиационного загрязнения Республики Беларусь

🔬 Научное обоснование проекта

Объект исследования: Радиационное загрязнение территории Республики Беларусь и современные способы его картографической визуализации.

Предмет исследования: Методы и технологии создания интерактивной веб-карты для отображения пространственного распределения радионуклидов (Цезий-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 административных районов.

🛠 Технологическая архитектура (Stack)

💻 Frontend (Визуализация и UX)

  • React 18 & TypeScript: Строгая типизация и компонентный подход.
  • Leaflet & React-Leaflet: Мощный движок для интерактивных карт.
  • Framer Motion: Анимированные переходы и частицы для визуализации "радиационного фона".
  • Tailwind CSS & shadcn/ui: Эстетичный интерфейс в стиле Glassmorphism.

⚙️ Backend (Обработка данных)

  • 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]
Loading

🚀 Как запустить проект

  1. Установка зависимостей:
    npm install
  2. Запуск в режиме разработки:
    npm run dev
  3. Сборка для продакшена:
    npm run build

📅 Дорожная карта (Roadmap)

  • Визуализация всех 118 районов.
  • Система цветовой индикации уровней загрязнения.
  • Автоматическое обновление данных.
  • Интеграция исторических графиков изменения фона.
  • Экспорт данных в форматы PDF/CSV.
  • Мобильное приложение для полевых исследований.

Автор проекта: Лешкевич Алексей, 11Г класс Научный консультант: Данные Белгидромета (rad.org.by) Лицензия: Образовательная (Educational Use Only)

About

Belarus radiation map, integrated with React/Vue, Type/Javascript

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors