pip install -r requirements.txtstreamlit run drone_forensics_app.pyThe app will open automatically in your browser at http://localhost:8501
- Heat Map — Visualise flight density using Folium + OpenStreetMap (no API key needed)
- Flight Path — Animated ant-path showing direction of travel
- Halt Detection — Auto-detects hover/stop events with GPS coordinates, altitude & duration
- Anomaly Detection — Flags speed spikes, sudden altitude jumps, long hovers, sharp turns, GPS jumps, and looping patterns
- Speed & Altitude Charts — Full telemetry profile across the flight
- Forensic Stats — Total distance, max speed, max altitude, halt count
- Export — Download full log + halt report as CSV
| Format | Extension |
|---|---|
| CSV / TSV | .csv, .txt |
| Excel | .xlsx, .xls |
| KML (Google Earth) | .kml |
| GPX (GPS Exchange) | .gpx |
| JSON | .json |
| DJI Logs | .csv, .txt |
| ArduPilot logs | .log, .csv |
You can load logs either by uploading a file or by pasting a direct downloadable URL in the sidebar.
The app automatically detects columns named (case-insensitive):
- Latitude:
lat,latitude,OSD.latitude,GPS.lat,position_lat - Longitude:
lon,longitude,OSD.longitude,GPS.lon - Altitude:
alt,altitude,height,OSD.altitude - Speed:
speed,velocity,groundspeed,OSD.groundOrVerticalSpeed - Time:
time,timestamp,datetime,OSD.flyTime
- Halt Speed Threshold — Adjust how slow counts as a "halt" (default 0.5 m/s)
- Min Points for Halt — How many consecutive slow points = 1 halt event
- Map Layers — Toggle heat map, path, halt markers, and data points independently