The repository provides the material to reproduce the study "On the need to move from a single indicator to a multi-dimensional framework to measure accessibility to urban green" by A. Battiston and R. Schifanella.
Pre-print available here.
Explore the results of the study through our interactive web interface.
With the recent expansion of urban greening interventions, the definition of spatial indicators to measure the provision of urban greenery has become of pivotal importance in informing the policy-design process. By analyzing the stability of the population and area rankings induced by several indicators of green accessibility for over 1,000 cities worldwide, we investigate the extent to which the use of a single metric provides a reliable assessment of green accessibility in a city. The results suggest that, due to the complex interaction between the spatial distribution of greenspaces in an urban center and its population distribution, the use of a single indicator might lead to insufficient discrimination across areas or subgroups of the population, even when focusing on one form of green accessibility. From a policy perspective, this indicates the need to switch toward a multi-dimensional framework that is able to organically evaluate a range of indicators at once.
Python functions for the computation of the green accessibility indices.
Set of Jupyter Notebooks to reproduce analysis presented in the manuscript. It requires running the data setup stored in the directory example.
Set of Jupyter Notebooks required to set up a green accessibility database mimicking the one used for the study.
The notebooks should be run in sequential order and require the installation of the functions contained in the atgreen directory.
For the computation of the street-network distances, we make use of the matrix computation capabilities of Open Source Routing Machine (OSRM) with its NodeJS Bindings. For a tutorial, please follow the instruction here and paste the file at resources_computation_distances in the associated directory.
- 00.01.01_DataSetup_DirectoriesSetup Setup project-related directories.
- 00.01.02_DataSetup_DataBaseSetup Setup project-related postgreSQL database.
- 00.01.03_DataSetup_Define_dictionaries Define a set of dictionaries to be used throughout the data processing. Upload them to the database.
- 00.02.01_DataProcessing_CITIES_BOUNDARY Upload the boundaries of the cities in the sample to the database. Save a unique shapefile in the PATH/boundary/ directory.
- 00.03.01_DataProcessing_GHS_POP_data Get the population grid from a raster file.
- 00.04.01_DataProcessing_OSMData_UCExtraction Generate city-level extracts of OSM data
- 00.04.02_DataProcessing_OSMData_GreenFeaturesExtraction Extraction of green features from OSM data and upload to the database. To customize the extracted features, please amend the dictionaries defined at 00.01.03_DataSetup_Define_dictionaries
- 00.04.03_DataProcessing_OSMData_Remapping Remapping of green features (several combinations) to population grid. Upload information to the database
- 00.05.01_DataProcessing_DistanceMatrices_Queries Computation of distance matrix of each city.
- 00.05.02_DataProcessing_DistanceMatrices_LoadOnDB Upload distance matrices to the database in the form of single edge lists (one for each city).
- 00.06.01_DataProcessing_ESAData_ExtractionAndLoadOnDB Download the city-level extract of the WC-ESA 2020 data.
- 00.06.02_DataProcessing_ESAData_Remapping Remapping of ESA data to the population grid and upload of the results to the database
- 00.07.01_DataProcessing_GenerateSQLindexes Generation of table indices on the database.
Inputs: PATH= main project directory
Inputs: PATH= main project directory; DB_NAME= database name; DB_USER= database user; DB_PASSWORD= database password; DB_HOST= database host; DB_PORT= database port.
Inputs: PATH= main project directory.
Inputs: PATH= main project directory.
Inputs: PATH= main project directory; GRID_FILE= Source file for population data; GRID_CRS= Coordinate reference system of the source file; BUFFER_SIZE= size of the buffer to build around the city boundary (to be provided in meters).
Inputs: PATH= main project directory; OSM_INPUT_FILE= Source file for OpenStreetMap data.
Inputs: PATH= main project directory.
Inputs: PATH= main project directory.
Inputs: PATH= main project directory; CELL_BUFFER=buffer around each cell within which to compute distances (provided in meters); ROUTING_PROFILE= routing profile (ex: "foot"); OSRM_WORKING_FOLDER: OSRM directory; OSM_INPUT_FOLDER_CITIES=Input folder for city-level extract of OSM data
Inputs: PATH= main project directory.
Inputs: PATH= main project directory; BUFFER_SIZE= size of the buffer to build around the city boundary (to be provided in meters).
Inputs: PATH= main project directory.
Inputs: PATH= main project directory.
All data sources used for this project are publicly available.
Cities were defined according to the boundaries in the Urban Centre Database of the Global Human Settlement 2015, revised version R2019A (GHS-UCDB). Out of 13,000 urban centers recorded in the database, we retained the most populated 50 UCs per country, provided that they had at least 100,000 inhabitants. We further excluded cities whose quality for which the quality of the OpenStreetMap (OSM) data was deemed insufficient according to the procedure described in the manuscript. The final sample comprised 1,040 UCs across 145 countries.
Population data were extracted from the population grid of the Global Human Settlement 2015 (revised version 2019A) at a 9-arcsecond resolution. The data consist of residential population estimates for the year 2015, disaggregated from census or administrative units to grid cells and informed by the distribution and density of built-up as mapped in the corresponding Global Human Settlement Layer (GHSL) global layer.
The problem of computing the walking distances between residential areas and green spaces in each urban area was simplified to the computation of walking distances between the centroids of the base grid, i.e. of computing a walking origin-destination matrix. To this scope, we locally installed the routing engine Open Source Routing Machine (OSRM) and used street-network data from the local OSM dumps.
Greenspaces and other green features were extracted from two different data sources. For the minimum distance and per-person indexes, where we are interested in measuring the availability of public and accessible greenspaces, we used information from OpenStreetMap. For the exposure index, where we are interested in measuring exposure to green features, regardless of their use, we used information form on land coverage from the World Coverage 2020 of the European Space Agency.