GNSS ground-station anomaly detection for disaster early warning in Africa — 5-algorithm engine on ScyllaDB
# GeoPulse — GNSS Ground Station Anomaly Detection
**Real-time GNSS position monitoring and anomaly detection for disaster early warning in Africa.**
Built for the SATNAV G4D-RR Hackathon — EU-funded GNSS for Disaster Risk Reduction & Early Warning Systems.
## Overview
GeoPulse ingests continuous GNSS position streams from a network of 24 ground stations across Africa, stores time-series geospatial data in ScyllaDB, and runs real-time anomaly detection to flag precursor signals for earthquakes, landslides, and volcanic activity.
### Architecture
```
┌─────────────┐ SSE ┌──────────────┐ ┌───────────────┐
│ Dashboard │◄────────────│ Next.js API │────►│ ScyllaDB │
│ (React 19) │ │ /api/stream │ │ gnss_readings│
│ Leaflet Map │ │ Simulator │ │ anomalies │
│ Recharts │ │ Detection │ │ hourly_stats │
└─────────────┘ └──────────────┘ └───────────────┘
│
▼
┌───────────┐
│ SQLite │
│ (Stations,│
│ Alerts) │
└───────────┘
```
## Features
### Real-Time Monitoring
- **24 GNSS stations** across 7 African tectonic risk zones
- **Live data streaming** via Server-Sent Events (300ms per station cycle)
- **Interactive map** with health-colored markers (green/amber/red)
- **Time-series charts** — 3D position residual + N/E/U component decomposition
- **Station health popups** with PDOP, satellite count, and 3D residual
### Anomaly Detection Engine (5 Algorithms)
| Algorithm | Method | Warning | Critical |
|-----------|--------|---------|----------|
| Position Drift | Running z-score on 3D residual | >3σ | >4σ |
| Velocity Spike | Absolute 3D velocity threshold | >0.5 mm/s | >2.0 mm/s |
| Signal Degradation | Satellite count + PDOP | 6 | 10 |
| Multipath Detection | Oscillation rate + PDOP correlation | >60% oscillation + PDOP>4 | — |
| Elevation Jump | Sudden vertical displacement | >15mm | >20mm |
### Risk Zones Monitored
- **East African Rift** — Active dive …