JavaFX disaster response tool that converts aerial imagery into a weighted graph and finds the safest rescue route using Dijkstra's algorithm. Built for South African emergency response scenarios (KZN floods, informal settlement fires).
# SentinalSA
JavaFX disaster response tool that converts aerial imagery into a weighted graph and finds the safest rescue route using Dijkstra's algorithm. Built for South African emergency response scenarios (KZN floods, informal settlement fires).
# SentinelPath SA
> **Real-time disaster response pathfinding for South African emergency teams.**
> Converts aerial imagery into a risk-weighted graph and calculates the safest rescue route — even when standard maps fail.
## The Problem
South Africa regularly faces localised disasters the 2022 KZN floods, fires in informal settlements where road infrastructure is destroyed and conventional mapping tools become unreliable. Emergency responders need a way to navigate unpredictable, rapidly changing terrain using only what they can see from the air.
**SentinelPath SA** solves this by treating any aerial `.jpg` or `.png` as a live navigable map, classifying terrain by colour, building a weighted graph on-the-fly, and computing the safest path for rescue vehicles in real time.
## How It Works
### 1. Image → Graph Abstraction
| Concept | Implementation |
| **Nodes (V)** | Image segmented into a 50 × 50 grid; each cell = one node |
| **Edges (E)** | Each node connects to its 8 neighbours (horizontal, vertical, diagonal) |
| **Weights (W)** | Edge cost = terrain classification of the target node |
### 2. Terrain Classification (Task 1)
- A **Hash Table** stores reference RGB values for known terrain types.
- Each grid node's colour is sampled and matched to the nearest reference category.
- Classification drives traversal cost assignment:
| Terrain | Weight |
| Road | 1 |
| Vegetation / Grass | 5 |
| Debris / Unknown | 50 |
| Water | 1,000 |
### 3. Pathfinding — Dijkstra's Algorithm (Task 2)
- Implemented with a **manual Adaptable Priority Queue** (min-heap).
- Complexity: **O(E log V)** handles the full 50×50 grid interactively.
- The safest path updates instantly as users modify the map.
## Features
- **Interactive Map C …