Saturday, July 4, 2026

Mapping Murder Cases In Nigeria By Geo Political Zones

 In this post, we shall learn how to map the 2023 StatiSense murder cases data in Nigeria by geopolitical zone.


To map the geopolitical zones dataset, we can use several essential mapping tools to build a choropleth map including using QGIS or Python with geopandas and matplotlib. 

To map this dataset in QGIS, we need to link the regional numbers to a digital map layer (Shapefile or GeoJSON) of Nigeria. Here is the exact step-by-step process to build the choropleth map.

Step 1: Download Nigeria's Geographic Data

QGIS needs a base map of Nigeria divided by states or geopolitical zones.
  1. Go to a public repository like GRID3 Nigeria or Humdata.
  2. Search for and download the Nigeria Administrative Boundary Level 1 (States) Shapefile.
  3. Extract the downloaded .zip file into a dedicated folder on your computer.
Step 2: Prepare Your Murder Dataset
Create a clean spreadsheet so QGIS can read your numbers correctly.
  1. Open Excel or Google Sheets.
  2. Create two columns named exactly: Zone and Murders.
  3. Fill in the data carefully:
    • North Central | 436
    • North West | 417
    • North East | 345
    • South West | 174
    • South East | 169
  4. Save the file as a CSV (Comma Delimited) file named nigeria_murders.csv.
Step 3: Load Data into QGIS
  1. Open QGIS Desktop.
  2. Click Layer -> Add Layer -> Add Vector Layer.
  3. Browse to your extracted shapefile folder, select the file ending in .shp, and click Add.
  4. Click Layer -> Add Layer -> Add Delimited Text Layer.
  5. Select your nigeria_murders.csv file.
  6. Under Geometry Definition, choose No geometry (attribute table only), then click Add.
Step 4: Group States into Geopolitical Zones
Note: If your downloaded shapefile already has a "Zone" column, you can skip to Step 5.
  1. Right-click your Nigeria shapefile layer in the Layers panel and select Open Attribute Table.
  2. Click the Toggle Editing Mode icon (the yellow pencil).
  3. Click Open Field Calculator.
  4. Set the Output field name to Zone and change the field type to Text (string).
  5. In the expression box, use a CASE statement to group the states. For example:
    sql
    CASE 
      WHEN "name" IN ('Kano', 'Kaduna', 'Katsina', 'Kebbi', 'Sokoto', 'Zamfara', 'Jigawa') THEN 'North West'
      WHEN "name" IN ('Kwara', 'Niger', 'Kogi', 'Benue', 'Plateau', 'Nasirawa', 'FCT') THEN 'North Central'
      -- Repeat for other zones based on the states in your shapefile
    END
    CASE
      WHEN "name" IN ('Kano', 'Kaduna', 'Katsina', 'Kebbi', 'Sokoto', 'Zamfara', 'Jigawa') THEN 'North West'
      WHEN "name" IN ('Kwara', 'Niger', 'Kogi', 'Benue', 'Plateau', 'Nasirawa', 'FCT') THEN 'North Central'
      -- Repeat for other zones based on the states in your shapefile
    END