Skip to content

Geography

Jip Claassens edited this page Jul 30, 2026 · 1 revision

The model uses four levels of spatial unit. All of them are prepared once and stored, because everything downstream iterates over them.

Countries

The country list is defined in the configuration itself, in SourceData/RegionalUnits/set_countries. It holds 240 entries, each with a code, a label and a continent. The geometry is joined in from three shapefiles: a global admin level 0 layer, a dissolved Russian layer and a dissolved Spanish layer.

The country list is not identical to a standard ISO list, and the differences are deliberate:

  • Russia is split into ERUS (European Russia) and ARUS (Asian Russia), so that it does not straddle two continental networks.
  • Spain is split into ESP_EUR (mainland and Mediterranean Spain) and ESP_AFR (the Canaries, Melilla and Ceuta), for the same reason.
  • Several small territories that are usually folded into a parent state are listed separately, because they sit on a different network.

Changing the country list is not a local edit. Countries, separated units, grids and networks all have to be regenerated afterwards, since the country identifier propagates into every stored intermediate file.

Separated units

A country is rarely one connected piece of land. store_sep_units splits every country polygon into its separate parts with bp_split_polygon, and keeps a relation back to the country. Each separated unit gets an identifier of the form <country code>_<number>.

These units are what make island and exclave handling possible. When grid cells in a separated unit cannot be connected to the road network at all, the model does not silently drop them. Instead it treats the whole separated unit as one and assigns it to the centre nearest to its population weighted centroid, as described in Catchments.

Continents

Six continents are used: Africa, Asia, Australia_Oceania, Europe, North_America and South_America. Their geometry is the union of the country polygons that belong to them, so a continent is by construction exactly the set of its countries.

The OSM source data is delivered in eight Geofabrik regions, which do not match this list. Antarctica is dropped, and Central America is merged into North America when the continental road sets are assembled. See Source data.

Functional areas

FunctionalAreas is a set of subnational zones read from a prepared shapefile in World Mollweide. Each zone carries a grid value, a country code and, through the country, a continent.

They serve two purposes. First, they are used to cut very large countries into pieces that fit in memory: China, India and the United States are run with functional areas as origin zones instead of the country as a whole, which is what the use_fas_for_origins list in the travel proxy controls. Second, they are the reporting unit for part of the downstream work.

Separately, the OECD functional urban areas (FUAs) are read in as well. They are used as an exclusion mask: the catchment variants ending in _ex_fua leave grid cells inside a functional urban area out of the analysis, so that the result describes the rural remainder of the territory.

Clone this wiki locally