{
  "version": 1,
  "built_date": "2026-10-20",
  "coordinate_reference_system": "EPSG:4326",
  "simplification_degrees": 0.0004,
  "coordinate_decimal_places": 5,
  "notice": "Historic cartographic reference snapshots, not a certified 2027 IEBC boundary release. Constituencies and administrative sub-counties are distinct schemes. Returns join only to official electoral codes in the local 2022 register; absent boundaries never receive guessed identities.",
  "sources": [
    {
      "id": "iebc_2012",
      "title": "IEBC electoral boundary archive (2012), preserved by Mikel Maron / OCHA ROSEA",
      "year": 2012,
      "url": "https://github.com/mikelmaron/kenya-election-data",
      "metadata_url": "https://data.humdata.org/dataset/kenya-elections",
      "license": "Other (as recorded by the IEBC/OCHA HDX catalogue; repository specifies no additional license)",
      "attribution": "Independent Electoral and Boundaries Commission; archive by Mikel Maron; OCHA ROSEA catalogue",
      "used_for": [
        "counties",
        "constituencies"
      ],
      "excluded_uncoded_features": {
        "county": 1,
        "constituency": 5
      },
      "corrections": [
        {
          "constituency_code": 148,
          "name": "Marakwet West",
          "source_county_code": 24,
          "county_code": 28,
          "reason": "Official code and name agree; >99% of source polygon is inside county 28. Archive county attribute is incorrect."
        }
      ]
    },
    {
      "id": "arc_2016",
      "title": "Administrative Wards in Kenya 1450",
      "publisher": "American Red Cross",
      "year": 2016,
      "url": "https://data.humdata.org/dataset/administrative-wards-in-kenya-1450",
      "download_url": "https://data.humdata.org/dataset/e8d06ae7-740b-4491-8749-43f81700cf41/resource/858129b2-7197-4ffe-b34f-c2091b307b2c/download/kenya_wards.zip",
      "license": "Creative Commons Attribution International (CC BY), as recorded in the publisher's HDX metadata",
      "attribution": "American Red Cross, Administrative Wards in Kenya 1450 (2016), Humanitarian Data Exchange",
      "used_for": [
        "wards"
      ],
      "note": "Administrative source names reconciled conservatively to the electoral register. Source parent labels are not presented as official electoral identities."
    },
    {
      "id": "omare_2017",
      "title": "Kenya County Assembly Boundaries",
      "authors": [
        "Benedict Aboki Omare",
        "George Omare"
      ],
      "year": 2017,
      "url": "https://github.com/benaboki/Kenya-County-Assembly-Boundaries",
      "license": "CC BY 4.0",
      "license_url": "https://creativecommons.org/licenses/by/4.0/",
      "attribution": "Benedict Aboki Omare and George Omare (2017), Kenya County Assembly Boundaries",
      "used_for": [
        "wards"
      ],
      "note": "Fallback only where one name+county+constituency match exists. Source has 1,452 features, including parks and duplicate/wrong codes; source codes alone are not trusted."
    },
    {
      "id": "gb_adm2_2020",
      "title": "geoBoundaries Kenya ADM2, IEBC/OCHA ROSEA",
      "year": 2020,
      "url": "https://www.geoboundaries.org/api/current/gbOpen/KEN/ADM2/",
      "download_url": "https://media.githubusercontent.com/media/wmgeolab/geoBoundaries/9469f09/releaseData/gbOpen/KEN/ADM2/geoBoundaries-KEN-ADM2_simplified.geojson",
      "license": "CC BY 3.0 IGO",
      "license_url": "https://creativecommons.org/licenses/by/3.0/igo/",
      "attribution": "IEBC / OCHA ROSEA; geoBoundaries, pinned source commit 9469f09",
      "used_for": [
        "subcounties",
        "individually_validated_constituency_outlines"
      ],
      "note": "Historic 290-unit administrative source, with names and parent county cross-referenced to the named OCHA-derived ADM2 service. Does not assert equivalence to all current national-government sub-counties. A newer electoral display outline is selected only with same name+county, every official child ward mapped, >=90% combined child-ward coverage, >=70% of each ward inside, and material improvement over the 2012 outline. Each replacement records its validation.",
      "county_reference_url": "https://services8.arcgis.com/oTalEaSXAuyNT7xf/ArcGIS/rest/services/Copy_of_Kenya_Counties_Subcounties/FeatureServer/4"
    },
    {
      "id": "names",
      "title": "Kenya-regions 2.2.0 constituency name/code registry",
      "url": "https://github.com/nicanor-korir/kenya-regions",
      "used_for": [
        "constituency_names"
      ],
      "note": "County and ward identities come from the local IEBC-extracted 2022 register."
    }
  ],
  "coverage": {
    "counties": 47,
    "constituencies": 290,
    "wards": 1448,
    "expected_wards": 1450,
    "subcounties": 290,
    "subcounties_with_electoral_crosswalk": 219,
    "wards_by_source": {
      "arc_2016": 1428,
      "omare_2017": 20
    },
    "missing_ward_boundaries": [
      {
        "ward_code": 215,
        "name": "LIBEHIA",
        "county_code": 9,
        "constituency_code": 43
      },
      {
        "ward_code": 216,
        "name": "SALA",
        "county_code": 9,
        "constituency_code": 44
      }
    ],
    "duplicate_join_conflicts": [],
    "unjoined_primary_source_features": [
      {
        "source_gid": 1520,
        "source_name": "Mathatani Ward",
        "source_county": "Machakos",
        "source_subcounty": "Athi River Sub County",
        "reason": "No unique conservative official ward-name/parent join"
      },
      {
        "source_gid": 1525,
        "source_name": "Township Ward",
        "source_county": "Machakos",
        "source_subcounty": "Machakos Sub County",
        "reason": "No unique conservative official ward-name/parent join"
      },
      {
        "source_gid": 961,
        "source_name": "BELGUT",
        "source_county": "KERICHO",
        "source_subcounty": "AINAMOI",
        "reason": "No unique conservative official ward-name/parent join"
      },
      {
        "source_gid": 1499,
        "source_name": "Mananja Ward",
        "source_county": "Machakos",
        "source_subcounty": "Masinga Sub County",
        "reason": "No unique conservative official ward-name/parent join"
      },
      {
        "source_gid": 616,
        "source_name": "Nakalale Ward",
        "source_county": "TURKANA",
        "source_subcounty": "Turkana West Sub County",
        "reason": "No unique conservative official ward-name/parent join"
      },
      {
        "source_gid": 2006,
        "source_name": "Kisii Central Ward",
        "source_county": "Kisii",
        "source_subcounty": "Kitutu Chache South Sub County",
        "reason": "No unique conservative official ward-name/parent join"
      },
      {
        "source_gid": 212,
        "source_name": "BULLA MPYA",
        "source_county": "MANDERA",
        "source_subcounty": "MANDERA EAST",
        "reason": "No unique conservative official ward-name/parent join"
      },
      {
        "source_gid": 216,
        "source_name": "LIBEHIA",
        "source_county": "MANDERA",
        "source_subcounty": "LAFEY",
        "reason": "No unique conservative official ward-name/parent join"
      },
      {
        "source_gid": 317,
        "source_name": "Gaturi north Ward",
        "source_county": "EMBU",
        "source_subcounty": "Manyatta  Sub County",
        "reason": "No unique conservative official ward-name/parent join"
      }
    ],
    "constituencies_using_validated_newer_geometry": [
      {
        "constituency_code": 174,
        "name": "Bahati",
        "official_child_wards": 5,
        "minimum_ward_coverage": 0.92082,
        "combined_ward_coverage": 0.9716,
        "previous_combined_ward_coverage": 0.90374
      },
      {
        "constituency_code": 197,
        "name": "Bomet Central",
        "official_child_wards": 5,
        "minimum_ward_coverage": 0.92388,
        "combined_ward_coverage": 0.96773,
        "previous_combined_ward_coverage": 0.94931
      },
      {
        "constituency_code": 178,
        "name": "Emurua Dikirr",
        "official_child_wards": 4,
        "minimum_ward_coverage": 0.99448,
        "combined_ward_coverage": 0.99632,
        "previous_combined_ward_coverage": 0.82376
      },
      {
        "constituency_code": 146,
        "name": "Kesses",
        "official_child_wards": 4,
        "minimum_ward_coverage": 0.75786,
        "combined_ward_coverage": 0.94693,
        "previous_combined_ward_coverage": 0.89731
      },
      {
        "constituency_code": 238,
        "name": "Kisumu East",
        "official_child_wards": 5,
        "minimum_ward_coverage": 0.89525,
        "combined_ward_coverage": 0.91057,
        "previous_combined_ward_coverage": 0.90628
      },
      {
        "constituency_code": 71,
        "name": "Kitui Rural",
        "official_child_wards": 4,
        "minimum_ward_coverage": 0.74701,
        "combined_ward_coverage": 0.93383,
        "previous_combined_ward_coverage": 0.19893
      },
      {
        "constituency_code": 198,
        "name": "Konoin",
        "official_child_wards": 5,
        "minimum_ward_coverage": 0.84799,
        "combined_ward_coverage": 0.90183,
        "previous_combined_ward_coverage": 0.82732
      },
      {
        "constituency_code": 277,
        "name": "Langata",
        "official_child_wards": 5,
        "minimum_ward_coverage": 0.86961,
        "combined_ward_coverage": 0.96027,
        "previous_combined_ward_coverage": 0.98868
      },
      {
        "constituency_code": 17,
        "name": "Magarini",
        "official_child_wards": 6,
        "minimum_ward_coverage": 0.84067,
        "combined_ward_coverage": 0.97324,
        "previous_combined_ward_coverage": 0.96905
      },
      {
        "constituency_code": 179,
        "name": "Narok North",
        "official_child_wards": 6,
        "minimum_ward_coverage": 0.99789,
        "combined_ward_coverage": 0.99868,
        "previous_combined_ward_coverage": 0.93565
      },
      {
        "constituency_code": 203,
        "name": "Navakholo",
        "official_child_wards": 5,
        "minimum_ward_coverage": 0.92571,
        "combined_ward_coverage": 0.96144,
        "previous_combined_ward_coverage": 0.91388
      },
      {
        "constituency_code": 248,
        "name": "Rangwe",
        "official_child_wards": 4,
        "minimum_ward_coverage": 0.93862,
        "combined_ward_coverage": 0.97587,
        "previous_combined_ward_coverage": 0.9293
      },
      {
        "constituency_code": 64,
        "name": "Runyenjes",
        "official_child_wards": 6,
        "minimum_ward_coverage": 0.91954,
        "combined_ward_coverage": 0.96832,
        "previous_combined_ward_coverage": 0.86651
      },
      {
        "constituency_code": 141,
        "name": "Soy",
        "official_child_wards": 7,
        "minimum_ward_coverage": 0.93324,
        "combined_ward_coverage": 0.97828,
        "previous_combined_ward_coverage": 0.90458
      },
      {
        "constituency_code": 172,
        "name": "Subukia",
        "official_child_wards": 3,
        "minimum_ward_coverage": 0.94327,
        "combined_ward_coverage": 0.96018,
        "previous_combined_ward_coverage": 0.85919
      },
      {
        "constituency_code": 151,
        "name": "Tinderet",
        "official_child_wards": 4,
        "minimum_ward_coverage": 0.86543,
        "combined_ward_coverage": 0.94744,
        "previous_combined_ward_coverage": 0.63447
      }
    ],
    "historic_ward_parent_boundary_disagreements": [
      {
        "ward_code": 118,
        "name": "WUMINGU/KISHUSHE",
        "constituency_code": 24,
        "ward_fraction_in_displayed_constituency": 0.16335
      },
      {
        "ward_code": 173,
        "name": "SARMAN",
        "constituency_code": 35,
        "ward_fraction_in_displayed_constituency": 0.42472
      },
      {
        "ward_code": 214,
        "name": "KHALALIO",
        "constituency_code": 43,
        "ward_fraction_in_displayed_constituency": 0.459
      },
      {
        "ward_code": 295,
        "name": "NKUENE",
        "constituency_code": 59,
        "ward_fraction_in_displayed_constituency": 0.17949
      },
      {
        "ward_code": 515,
        "name": "INOI",
        "constituency_code": 103,
        "ward_fraction_in_displayed_constituency": 0.33147
      },
      {
        "ward_code": 763,
        "name": "OL'LESSOS",
        "constituency_code": 153,
        "ward_fraction_in_displayed_constituency": 0.00801
      },
      {
        "ward_code": 764,
        "name": "KAPCHORUA",
        "constituency_code": 153,
        "ward_fraction_in_displayed_constituency": 0.0047
      },
      {
        "ward_code": 821,
        "name": "UMANDE",
        "constituency_code": 164,
        "ward_fraction_in_displayed_constituency": 0.00387
      },
      {
        "ward_code": 1021,
        "name": "MUMIAS NORTH",
        "constituency_code": 204,
        "ward_fraction_in_displayed_constituency": 0.25383
      },
      {
        "ward_code": 1419,
        "name": "KOMAROCK",
        "constituency_code": 284,
        "ward_fraction_in_displayed_constituency": 0.0
      }
    ]
  },
  "processing": [
    "Discard uncoded IEBC archive slivers",
    "Reconcile ward names, explicit variants, county and parent context; never attach counts by source code alone",
    "Use uniquely identified Omare ward polygons where the primary source cannot join or an independently named fallback strongly agrees with the parent geometry",
    "Select newer constituency outlines only with explicit complete child-ward validation, never from administrative codes alone",
    "Repair invalid source rings, simplify with topology preservation, and verify the serialized precision-reduced polygons",
    "Round WGS84 coordinates to 5 decimal places",
    "Administrative-to-electoral crosswalk requires same name+county and >=90% reciprocal polygon overlap"
  ],
  "files": {
    "counties.geojson": {
      "features": 47,
      "bytes": 418183,
      "sha256": "d389061ae3bb7efa20b3558a7bd83d67c37b05f1604d9260a4d97b87d33c8cd2"
    },
    "constituencies.geojson": {
      "features": 290,
      "bytes": 1258142,
      "sha256": "ba21d14ab389bb6bc9521fdd6098bb0226080d838d9b7f1c1e825c0c1765ff68"
    },
    "wards.geojson": {
      "features": 1448,
      "bytes": 4504739,
      "sha256": "364c397158220cdd3dd976d14c3b1fd11827d9f15af37e491f8b50bafa232861"
    },
    "subcounties.geojson": {
      "features": 290,
      "bytes": 1010138,
      "sha256": "01e425a99495cb5764c424bfd5da1c33976d4a99733dd2721ffcc05770630561"
    }
  },
  "source_sha256": {
    "county.json": "fe41740152e86a1c60c05e826ba9f1c49f154a854e7eed4a57f7fd382f1f9cda",
    "const.json": "500b631e5ab11108fd93285110f5305f82c46cd7b022c6c6fcb0b7bd4d55fae8",
    "ward_original.json": "b6e6a0a5cc47e87d2ef314751cd0a3a914cfd3f55715d847b75d4d9d0efef90d",
    "omare_license.txt": "7e7170e3cebf88a9f60c7b8421418323c09304da1af4d5e90f4da1dc1c8a2661",
    "kenya_regions.txt": "12e097fd8cc6b09fd663171975ed41577d3433102d1d17d3bb6b268256dcc148",
    "hdx_ward_metadata.json": "5cae1a4147e92195340dbac3dd560597b41d6dcd5eabe6a30bea59fa1026f63c",
    "hdx_electoral_metadata.json": "b644f0ba26f2aa5b3f5c370e937d5d5462251d0eab7dfde74ae704299e8cb747",
    "hdx_wards_zip.zip": "13e0dee1a1c731fbb2eb03f0c28468d202fdc174279a104064f05740cc281206",
    "gb_adm2_meta.json": "fda2243b006240663bb90c013124fc6d7c9e24f50f19a3e13a192b4d5630ee04",
    "gb_adm2.json": "1330f031cf0fd00c7a0ef29ab09d0544da12482094a85d60165a1534e45d84ad",
    "named_admin.json": "c410bec512aa1c031ac401820cd531306f09bf152cb666d128101d2f884c0877"
  }
}
