Skip to content

Developing L2 urban classification in python

Benjamin P. Stewart edited this page Nov 19, 2020 · 6 revisions

The L1 urban classification has three levels of urban classification:

  1. High density urban (HD) - minimum population density 1500/km2, total settlement population: 50000
  2. Urban clusters (Urban) - minimum population density 300/km2, total settlement population: 5000

This classification is taken further in the DEGURBA classification (L2). Details on the complete methodology can be found here:

Class Name Pop Density Total Pop Distance Notes
30 Urban Centre >1500 >50000 hole-smoothed
23 Urban cluster, town, dense urban cluster >1500 >5000 not type 30
22 Urban cluster, town, semidense urban cluster >300 >5000 farther than 3km from 23 or another 22
21 Urban cluster, suburb >300 >5000 within 3km of 23 or another 22
13 Rural cluster 300 >500, <5000
12 Low density 50
11 Very low density remainder

Concerns with code

The DEGURBA code has been replicated in python; the results are very similar, although not perfect. Note that this analysis relies solely on the population grid, it does not consider the built-area dataset. This is a decision made both to simplify the code, and to simplify replication.

When exploring the results and the original data, there are a number of questions that arise, see the comparison of three maps below

  1. The comparison between the datasets at 1km are very similar. There are a couple issues, but before I go digging into the reasons, I want to make sure I am working on the correct data. Could you let me know where the authoritarian population and GHS-SMOD data can be downloaded?
  2. The issues in the python code seem to mostly be related to the distance calculations for classes 21 and 22. As I play around with the code, I wonder how you deal with queen's case contiguity when calculating distances.

GHS SMOD Original

GHS SMOD original data produced by EC

GHS SMOD produced from Python code at 1km

GHS SMOD produced from Python code at 1km

GHS SMOD produced from Python code at 250m

GHS SMOD produced from Python at 250m