ILGISA 2026 · Peoria
Polygons from First Principles
How χGRIDs extend the UN's 2025 settlement methodology to neighborhood-scale geographies. Everything from the talk, and one question for you.
- The slides, in your browser — arrow keys to move, n for sources
- The slides (PDF) — 27 slides, one per page
- What Is Chicago? — the UN rule, replayed step by step on Chicago's 1 km grid
- Parallel Peorias — to the UN, Peoria is a town; the same rule finds its twins worldwide
- χGRIDs on GitHub — polygons (GeoJSON, Shapefile, GeoPackage), generators, MIT; interactive explorer
- Comparables for every Illinois settlement — a one-page PDF for your settlement and a statewide spreadsheet, by email
- Penlight — Chicago measures by ward, neighborhood and chi
The recipe: the UN's 2025 rule in six steps, in ArcGIS Pro or QGIS
Data: GHS-WUP-POP E2025 and GHS-LAND, 1 km cells in the Mollweide projection (ESRI:54009), free from the JRC Global Human Settlement Layer. Check your result against the published GHS-WUP-DEGURBA class-30 cells. These tool chains are close equivalents of the replay shown in the talk, which matched the UN's Chicago boundary cell for cell.
| Step | Rule | ArcGIS Pro | QGIS |
|---|---|---|---|
| 1. Start from the grid | Download GHS-WUP-POP E2025 (1 km, Mollweide ESRI:54009) and GHS-LAND from https://jeodpp.jrc.ec.europa.eu/ftp/jrc-opendata/GHSL/, and keep the grid in its own projection. | add both rasters as-is; set the processing extent to your window and the cell size and snap raster to the population grid. | Same: load both, align to the population grid. |
| 2. Keep the dense squares | People per km² of land = population / (GHS-LAND m² / 1,000,000); a cell is dense at 1,500 or more. | Raster Calculator: Con("pop" / ("land" / 1000000) >= 1500, 1). | Raster Calculator with the same expression. |
| 3. Connect edge to edge | Dense cells that share an edge form one cluster; corners do not count. | Region Group with number_neighbors FOUR. | r.clump without the -d (diagonal) flag. |
| 4. Require 50,000 people | Keep clusters of 50,000 people or more. | Zonal Statistics (SUM of population by region), then Con(sum >= 50000). | r.stats.zonal method=sum, then the Raster Calculator. |
| 5. Fill small holes | Fill enclosed gaps smaller than 15 km² inside each surviving cluster. | Region Group on the non-cluster cells (FOUR); fill groups under 15 cells that do not touch the outside. | r.clump on the gaps, r.stats to count cells, then the Raster Calculator. |
| 6. Smooth by majority vote | 3×3 majority vote among land cells, the centre included; ties join; cells are only added; repeat until nothing changes. | Focal Statistics (3×3 rectangle, SUM) on the cluster mask and on the land mask; add cells where cluster sum ≥ half the land sum; iterate. | r.neighbors size=3 method=sum on both masks, same rule, iterate. |