DoU_classify_grid_urban_centres {flexurba}R Documentation

Create the DEGURBA grid cell classification of urban centres

Description

The Degree of Urbanisation identifies urban centres as clusters of continuous grid cells (based on rook contiguity) with a minimum density of 1500 inhabitants per km² (or with a minimum built-up area; see details), and a minimum total population of 50 000 inhabitants. Gaps smaller than 15 km² in the urban centres are filled and edges are smoothed by a 3x3-majority rule (see details).

For more information about the Degree of Urbanisation methodology, see the methodological manual, GHSL Data Package 2022 and GHSL Data Package 2023.

The arguments of the function allow to adapt the standard specifications in the Degree of Urbanisation in order to construct an alternative version of the grid classification.

Usage

DoU_classify_grid_urban_centres(
  data,
  density_threshold = 1500,
  size_threshold = 50000,
  contiguity_rule = 4,
  built_criterium = TRUE,
  built_threshold = 0.2,
  smooth_pop = FALSE,
  smooth_pop_window = 5,
  gap_fill = TRUE,
  max_gap = 15,
  smooth_edge = TRUE,
  smooth_edge_fun = "majority_rule_R2023A",
  value = 3
)

Arguments

data

path to the directory with the data, or named list with the data as returned by function DoU_preprocess_grid()

density_threshold

numeric. Minimum population density per permanent land of a cell required to belong to an urban centre

size_threshold

numeric. Minimum total population size required for an urban centre

contiguity_rule

integer. Which cells are considered adjacent: 4 for rooks case (horizontal and vertical neighbours) or 8 for queens case (horizontal, vertical and diagonal neighbours)

built_criterium

logical. Whether to use the additional built-up area criterium (see details). If TRUE, not only cells that meet the population density requirement will be considered when delineating urban centres, but also cells with a built-up area per permanent land above the built_threshold

built_threshold

numeric. Additional built-up area threshold. A value between 0 and 1, representing the minimum built-up area per permanent land. Ignored when built_criterium is FALSE.

smooth_pop

logical. Whether to smooth the population grid before delineating urban centres. If TRUE, the population grid will be smoothed with a moving average of window size smooth_pop_window.

smooth_pop_window

integer. Size of the moving window used to smooth the population grid before delineating urban centres. Ignored when smooth_pop is FALSE.

gap_fill

logical. Whether to perform gap filling. If TRUE, gaps in urban centres smaller than max_gap are filled.

max_gap

integer. Gaps with an area smaller than this threshold in urban centres will be filled (unit is km²). Ignored when gap_fill is FALSE.

smooth_edge

logical. Whether to perform edge smoothing. If TRUE, edges of urban centres are smoothed with the function smooth_edge_fun.

smooth_edge_fun

character / function. Function used to smooth the edges of urban centres. Ignored when smooth_edge is FALSE. Possible values are:

  • "majority_rule_R2022A" to use the edge smoothing algorithm in GHSL Data Package 2022 (see details)

  • "majority_rule_R2023A" to use the edge smoothing algorithm in GHSL Data Package 2023 (see details)

  • a custom function with a signature similar as apply_majority_rule().

value

integer. Value assigned to urban centres in the resulting grid

Details

In Data Package 2022, the Degree of Urbanisation includes an optional built-up area criterium to account for the presence of office parks, shopping malls, factories and transport infrastructure. When the setting is enabled, urban centres are created using both cells with a population density of at least 1500 inhabitants per km² and cells that have at least 50% built-up area on permanent land. For more information: see GHSL Data Package 2022, footnote 25. The parameter setting built_criterium=TRUE and built_threshold=0.5 reproduces this built-up area criterium.

In Data Package 2023, the built-up area criterium is slightly adapted and renamed to the "Reduce Fragmentation Option". Instead of using a fixed threshold of built-up area per permanent land of 50%, an "optimal" threshold is employed. The optimal threshold is dynamically identified as the global average built-up area proportion in clusters with a density of at least 1500 inhabitants per permanent land with a minimum population of 5000 people. For more information: see GHSL Data Package 2023, footnote 30. The optimal built-up threshold can be computed with the function DoU_get_optimal_builtup(). We determined empirically that this optimal threshold is 20% for the data of 2020.

In Data Package 2022, edges of urban centres are smoothed by an iterative majority rule. The majority rule works as follows: if a cell has at least five of the eight surrounding cells belonging to an unique urban centre, then the cell is added to that urban centre. The process is iteratively repeated until no more cells are added. The parameter setting smooth_edge=TRUE and smooth_edge_fun="majority_rule_R2022A" reproduces this edge smoothing rule.

In Data Package 2023, the majority rule is slightly adapted. A cell is added to an urban centre if the majority of the surrounding cells belongs to an unique urban centre, with majority only computed among populated or land cells (proportion of permanent land > 0.5). In addition, cells with permanent water are never added to urban centres. The process is iteratively repeated until no more cells are added. For more information: see GHSL Data Package 2023, footnote 29. The parameter setting smooth_edge=TRUE and smooth_edge_fun="majority_rule_R2023A" reproduces this edge smoothing rule.

Value

SpatRaster with the grid cell classification of urban centres

Examples

data_belgium <- DoU_load_grid_data_belgium()

# standard parameters of the Degree of Urbanisation:
classification1 <- DoU_classify_grid_urban_centres(data_belgium)
DoU_plot_grid(classification1)

# with custom parameters:
classification2 <- DoU_classify_grid_urban_centres(data_belgium,
  density_threshold = 1000,
  gap_fill = FALSE,
  smooth_edge = FALSE
)
DoU_plot_grid(classification2)


[Package flexurba version 0.2.2 Index]