Logo Lanfrica

Emmylytics/inec-polling-unit-profiler

Domain:

geospatialsocioeconomic

Record type:

softwaretools
Creator:
Emm
Host:
Interactive Streamlit dashboard for profiling Nigeria's polling units with geospatial visualization, voter statistics, and administrative boundary analysis. # πŸ—³οΈ INEC Polling Unit Profiler An interactive Streamlit dashboard for analysing **INEC (Independent National Electoral Commission)** polling unit delimitation data across Nigeria. The application provides drill-down analysis from **State β†’ LGA β†’ Ward**, complemented by interactive charts, summary statistics, and geospatial visualizations powered by GADM administrative boundary shapefiles. --- ## πŸ“Έ Preview --- ## ✨ Features - **State-level overview**: key summary metrics at a glance - **Drill-down analysis**: State β†’ Local Government Area (LGA) β†’ Registration Ward, with metrics updating live at each level - **Visual analytics**: charts that automatically adjust to your current drill-down level - **Geospatial mapping**: interactive maps of Nigerian states and LGAs, with fuzzy name-matching to reconcile dataset names against shapefile boundaries - **Search & filter**: quickly locate specific records within the dataset - **Export**: download filtered data as CSV or Excel - **Map links**: direct map links for records with available coordinates --- ## πŸ› οΈ Tech Stack - **Framework**: Streamlit - **Data processing**: pandas - **Geospatial**: geopandas, pydeck - **Visualization**: Plotly Express - **Shapefiles**: GADM (Global Administrative Areas) β€” Nigeria levels 1 (state) and 2 (LGA) --- ## πŸ“ Project Structure ``` β”œβ”€β”€ app.py β”œβ”€β”€ utils/ β”‚ β”œβ”€β”€ loader.py β”‚ β”œβ”€β”€ summaries.py β”‚ β”œβ”€β”€ lga.py β”‚ β”œβ”€β”€ ward.py β”‚ β”œβ”€β”€ charts.py β”‚ └── maps.py β”œβ”€β”€ scripts/ β”‚ └── get_cordinates.py β”œβ”€β”€ geo_data/ β”œβ”€β”€ assets/ β”‚ └── dashboard-preview.png β”œβ”€β”€ requirements.txt └── .gitignore ``` --- ## πŸ—ƒοΈ Data - **Shapefiles**: Included in `geo_data/` (sourced from GADM) - **Polling unit data**: Proprietary, not included in this repository. To run locally, place your own state-level Excel file(s) in a `data/` folder at the project root. Expected columns for polling unit data: | Column | Description | |---|---| | `stateCode`, `localGovtAreaCode`, `regAreaWardCode`, `pollingUnitCode …