Mulai
Aplikasi
project/
├── static/
│ ├── js/
│ │ ├── [Link] # Core visualization engine
│ │ ├── realistic_propagation.js # Tsunami propagation calculator
│ │ ├── wave_animation.js # Wave animation effects
│ │ ├── epicenter_selector.js # Epicenter selection handler
│ │ ├── tsunami_simulator_ui.js # UI for tsunami simulation
│ │ ├── [Link] # Impact heatmap visualization
│ │ ├── inasafe_impact.js # Impact assessment calculator
│ │ └── inasafe_ui.js # Impact assessment UI
│ │
│ ├── css/
│ │ └── [Link] # Main stylesheet
│ │
│ └── data/
│ ├── [Link] # Indonesian coastline data
│ ├── [Link] # Bathymetry raster data
│ └── historical_events.json # Historical tsunami data
├── templates/
│ ├── [Link] # Landing page
│ ├── [Link] # Main visualization page
│ └── components/ # Reusable HTML components
├── app/
│ ├── __init__.py # Flask application factory
│ ├── [Link] # Database models
│ ├── [Link] # Route definitions
│ ├── [Link] # API endpoints
│ └── processors/ # Data processing modules
│ ├── __init__.py
│ ├── [Link] # Tsunami data processor
│ └── [Link] # Impact assessment processor
├── migrations/ # Database migrations
├── tests/ # Test suite
├── [Link] # Configuration settings
└── [Link]
┌─────────────────────────────────────────────────────────────────┐
│ CLIENT SIDE (BROWSER) │
│ ┌─────────────┐ ┌───────────────┐ ┌──────────────────┐ │
│ │ HTML/CSS │ │ JavaScript │ │ OpenLayers Map │ │
│ │ Interface │◄───┤ Controllers │◄───┤ Rendering │ │
│ └─────────────┘ └───────┬───────┘ └──────────────────┘ │
└───────────────────────────┬─┴───────────────────────────────────┘
│ HTTP/AJAX Requests
┌───────────────────────────▼───────────────────────────────────────┐
│ FLASK SERVER │
│ ┌─────────────┐ ┌────────────────┐ ┌──────────────────┐ │
│ │ Flask Routes │◄──┤ View Functions │◄───┤ Data Processors │ │
│ └──────┬──────┘ └────────┬───────┘ └─────────┬────────┘ │
│ │ │ │ │
│ ┌──────▼──────┐ ┌────────▼───────┐ ┌─────────▼────────┐ │
│ │ Jinja2 │ │ Geospatial │ │ Background │ │
│ │ Templates │ │ Processing │ │ Tasks │ │
│ └─────────────┘ └────────────────┘ └──────────────────┘ │
└─────────────────────────────┬─────────────────────────────────────┘
┌─────────────────────────────▼─────────────────────────────────────┐
│ DATA STORAGE & SERVICES │
│ ┌─────────────┐ ┌────────────────┐ ┌──────────────────┐ │
│ │ PostgreSQL │ │ GeoJSON Files │ │ Redis Cache │ │
│ │ + PostGIS │ │ Raster Data │ │ │ │
│ └─────────────┘ └────────────────┘ └──────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
# WSGI entry point
Am, G, C, F, Dm, Em, A, Gm
Input Parameter Visualisasi Hasil di
Inisialisasi Simulasi Peta
Sistem( Load Peta,
Komponen)
Pemilihan Lokasi Analisis Dampak
(koordinat/epicenter) Bencana
Pemilihan
Jenis
Bencana Proses Simulasi Interaksi Lanjutan
Bencana dengan Hasil
Selesai /
Mulai Baru