Data / Course project
Incident Visualizer
A Flask incident-analysis interface built on SQLite, pandas, OpenCage geocoding, KMeans clustering, and Matplotlib/Seaborn charts.
View repository01 / COMPONENTS & DATA FLOW
Inside the system.
- 01SQLite incidents
- 02pandas + geocoding
- 03KMeans + aggregation
- 04Flask chart views
Tabular analysis
The visualization module loads incident records into a pandas DataFrame and counts the most common incident natures.
Geographic projection
Incident addresses are sent to OpenCage for coordinates. Rows without usable coordinates are removed before KMeans clustering over latitude and longitude.
Rendered chart artifacts
Matplotlib and Seaborn export a top-20 incident bar chart, a geographic cluster plot, and a 24-hour incident distribution histogram for the Flask interface.
02 / IMPLEMENTATION DECISIONS
Why it works this way.
Charts are batch outputs
The implementation produces image artifacts from a dataset snapshot. It is not a continuously updated live dashboard.
Missing coordinates affect the view
Failed geocoding removes records from the clustering dataset, so the geographic view has a narrower population than the incident-frequency chart.
03 / SCOPE & TRADEOFFS
The implementation boundary.
A visualization project rather than a production incident service. Coordinate clustering is exploratory; it does not establish geographic distance-aware clustering or causal patterns.
04 / READ THE IMPLEMENTATION