Data catalog
Prompt to work with UGC data using an AI agent
# Urban Growth Center (UGC) data Context for working with UGC data from Development Data Lab: city-level datasets for urban areas worldwide, published as independently versioned modules. Catalog: https://cities.devdatalab.org/data Documentation: https://cities.devdatalab.org/docs/datasets ## Getting the files - Each link is a .zip holding the data file and a README with the full schema, license and disclaimer. Download and unzip before reading. - Links redirect to the file host. Follow redirects (e.g. `curl -L -O <url>`). ## Core concepts - `id` identifies a boundary polygon and is unique across PARENT, ADM1 and ADM2. Join tables on `id` alone. - `boundary_level` is PARENT (the whole city), ADM1 or ADM2 (the city split by administrative unit). Use it to select one level, not as a join key. Filter to a single level before aggregating, or values will be double counted. - ADM1/ADM2 split polygons carry `parent_id`. Splits may not cover the whole parent, so do not assume split values sum to the parent total. - Tables with a `version` column record the boundary version they were built on. Modules are versioned independently, so check that boundary versions agree before joining across modules. - Null means unavailable, not zero. ## Datasets ### DDL Global Urban Boundaries (`ua-boundaries` v0.3.0) City polygons with stable identifiers, published globally. - Levels: PARENT, ADM1, ADM2 - Unique key: id - Format: GeoPackage (.gpkg) in a .zip - Coverage: Every parent city with a population of at least 50,000. - Columns: id, name, population (people), alpha3, area (m²), geometry - Files: - Parent boundaries: https://cities.devdatalab.org/downloads/ua-boundaries/v0.3.0/ddl-urban-boundaries-global-v0.3.0.zip - ADM1 split: https://cities.devdatalab.org/downloads/ua-boundaries/v0.3.0/ddl-urban-boundaries-adm1-global-v0.3.0.zip - ADM2 split: https://cities.devdatalab.org/downloads/ua-boundaries/v0.3.0/ddl-urban-boundaries-adm2-global-v0.3.0.zip - Notes: - The parent city is the reference geography for the city profile. Its identifier connects the published tables. - ADM1 and ADM2 files contain released administrative intersections of qualifying parent polygons. Published splits may not cover the whole parent; do not assume their measures sum to parent totals. Use the split identifier for split-level measures and parent_id to relate a split to its parent. - GHSL and GADM map overlays provide comparison geographies. They do not change the boundaries used to calculate the profile measures. - area is computed on the geography type, in square metres, not in the layer's own projected units. - Hong Kong publishes under CHN, because the boundaries carry it that way. - Source: DDL Urban Growth Center (https://www.devdatalab.org) - Docs: https://cities.devdatalab.org/docs/datasets/ua-boundaries ### Historical Population (`population-historical` v0.3.0) Population totals derived from GHSL population raster data, by year. - Levels: PARENT, ADM1, ADM2 - Unique key: id, version, year - Years: 1975–2025 - Format: Parquet in a .zip - Coverage: Every DDL boundary with a population raster overlap, at parent, ADM1 and ADM2 split levels. - Columns: id, version, boundary_level, year, pop_sum (People), pixel_count - Files: - Full table: https://cities.devdatalab.org/downloads/population-historical/v0.3.0/ddl-population-historical-v0.3.0.zip - Notes: - The population history follows the same released boundary through time. Growth describes population change inside that footprint; it does not measure how the urban boundary expanded. - Years between the five-year GHS-POP epochs are linearly interpolated by UGC, and are not measured directly in the upstream dataset. - Source: GHS-POP R2023A — GHS population grid multitemporal (1975–2030) (https://human-settlement.emergency.copernicus.eu/ghs_pop2023.php) - Docs: https://cities.devdatalab.org/docs/datasets/population-historical ### Urban PM2.5, monthly (`pm25-monthly` v0.3.0) Monthly mean surface PM2.5 concentrations derived from ACAG gridded data. - Levels: PARENT, ADM1, ADM2 - Unique key: id, version, pm25_year, pm25_month - Years: 1998–2024 - Format: Parquet in a .zip - Coverage: Every DDL boundary that overlaps the upstream grid, at parent, ADM1 and ADM2 level. - Columns: id, version, boundary_level, pm25_year, pm25_month, pm25_version, pm25_mean (µg/m³), pm25_cell_count - Files: - Full table: https://cities.devdatalab.org/downloads/pm25-monthly/v0.3.0/ddl-pm25-monthly-v0.3.0.zip - Notes: - Partial grid cells are area-weighted when calculating the mean surface PM2.5 for the polygon. - Source: Washington University in St. Louis, Atmospheric Composition Analysis Group — surface PM2.5 (https://sites.wustl.edu/acag/datasets/surface-pm2-5/) - Docs: https://cities.devdatalab.org/docs/datasets/pm25-monthly ### Urban Congestion Indices (`congestion` v0.3.0) Speed and congestion indices derived from Google Maps. - Levels: PARENT - Unique key: id, version - Years: 2019 - Format: Parquet in a .zip - Coverage: Not all cities have values. Authors' source cities are mapped onto cities and aggregated as appropriate to produce one value per city. - Columns: id, version, traffic_year, congestion_index, speed_index, uncongested_speed_index, speed_index_sd, mean_speed_kmh (km/h) - Files: - Full table: https://cities.devdatalab.org/downloads/congestion/v0.3.0/ddl-congestion-v0.3.0.zip - Notes: - Data is only available for a subset of cities - Traffic data comes from measurements taken between June and November 2019 on Google maps from simulated trips - Several source-city polygons may contribute to one city. Look at `speed_index_sd` for spread across contributing cities - uncongested_speed_index = speed_index + congestion_index, exactly. It is a decomposition, not an independent measurement. - Source: Akbar et al. (2023) — The Fast, the Slow, and the Congested: Urban Transportation in Rich and Poor Countries (https://www.nber.org/papers/w31642) - Docs: https://cities.devdatalab.org/docs/datasets/congestion ### GHSL Built-up Zonal Statistics (`ghsl-builtup` v0.3.0) Built-up surface, volume, non-residential use, and height derived from GHSL raster data. - Levels: PARENT, ADM1, ADM2 - Unique key: id, version, ghsl_year - Years: 1975, 1980, 1985, 1990, 1995, 2000, 2005, 2010, 2015, 2018, 2020, 2025 - Format: Parquet in a .zip - Coverage: Includes released parent cities and their ADM1 and ADM2 splits when the source raster metric is available. - Columns: id, version, boundary_level, ghsl_release, ghsl_year, built_up_surface_sum_m2 (m²), built_up_surface_avg_m2 (m²), built_up_volume_sum_m3 (m³), built_up_volume_avg_m3 (m³), nonres_built_up_surface_sum_m2 (m²), nonres_built_up_surface_avg_m2 (m²), nonres_built_up_volume_sum_m3 (m³), nonres_built_up_volume_avg_m3 (m³), gross_built_up_height_avg_m (m), net_built_up_height_avg_m (m), built_up_surface_valid_coverage_share, built_up_volume_valid_coverage_share, nonres_built_up_surface_valid_coverage_share, nonres_built_up_volume_valid_coverage_share, gross_built_up_height_valid_coverage_share, net_built_up_height_valid_coverage_share - Files: - Full table: https://cities.devdatalab.org/downloads/ghsl-builtup/v0.3.0/ddl-ghsl-builtup-v0.3.0.zip - Notes: - `ghsl_year` is 1975/1980/1985/1990/1995/2000/2005/2010/2015/2020/2025 for Built-up surface and volume data; gross and net height come from GHS-BUILT-H, which is from 2018. - Selecting on `ghsl_year` is therefore necessary to select the appropriate raster product. 2018 will not have any built-up surface or volume data while the other years will not have any height data. - Filter boundary_level before aggregation so parent and administrative zones are not double counted. - The built-up surface and volume metrics for 2025 are projections from the 2020 data. - The building volume measure is mechanically constructed by multiplying the built-up surface by the net built-up height in 2018. Therefore the ratio of built up volume to surface is the same across all years. - Net building height is calculated as built-up volume over valid built-up surface area. Gross building height is calculated as built-up volume over the entire surface area. - Keep every metric with its corresponding validity-coverage share; null metrics are unavailable, not zero. A share of 0 means the raster was absent or no valid pixel fell inside the zone. - Source: European Commission, Joint Research Centre — Global Human Settlement Layer, GHS-BUILT-S, GHS-BUILT-V and GHS-BUILT-H R2023A (https://human-settlement.emergency.copernicus.eu/p2023Release.php) - Docs: https://cities.devdatalab.org/docs/datasets/ghsl-builtup ### World Bank Subnational Doing Business (`doing-business` v0.3.0) Business regulation scores from the World Bank’s Subnational Doing Business surveys. - Levels: PARENT - Unique key: id, version, alpha3, source_city, data_as_of - Years: 2009–2022 - Format: Parquet in a .zip - Coverage: Only parent cities matched from a World Bank source city are included. Several source-city observations may map to one city. - Columns: id, version, alpha3, source_country_name, source_city, source_region, data_as_of, starting_business_overall_score, construction_permit_overall_score_20, construction_permit_overall_score_15, getting_electricity_overall_score_20, getting_electricity_overall_score_15, registering_property_overall_score_20, registering_property_overall_score_15, paying_taxes_overall_score_20, paying_taxes_overall_score_16, enforcing_contracts_overall_score_20, enforcing_contracts_overall_score_15 - Files: - Full table: https://cities.devdatalab.org/downloads/doing-business/v0.3.0/ddl-doing-business-v0.3.0.zip - Notes: - Some of the measures have suffixes such as _20, _16 or _15. These correspond to different iterations of the World Bank Score calculation methodology and thus should not be combined into one. - Several source cities may map to one city. The recommendation is to aggregate them at the city level as per the data need. - If a field is null, it means the score is unavailable for that observation in the source data. - Source: World Bank — Subnational Doing Business (https://datacatalog.worldbank.org/search/dataset/0038564/doing-business) - Docs: https://cities.devdatalab.org/docs/datasets/doing-business ## License and citation - License: Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License - Cite: Development Data Lab. (2026). Urban Growth Center. https://cities.devdatalab.org/ - Also cite the original source listed under each dataset.
id Years static Download Parent boundaries ADM1 split ADM2 split idversionyear Years 1975–2025 Download Full table idversionpm25_yearpm25_month Years 1998–2024 Download Full table idversion Years 2019 Download Full table idversionghsl_year Years 1975–2025 Download Full table idversionalpha3source_citydata_as_of Years 2009–2022 Download Full table Each percentage compares coverage with the selected boundary module's total at that level. A dash means the dataset publishes nothing at that level. Modules are versioned independently; see their documentation for version-specific references.
Read dataset documentation for schemas, methods, joins and interpretation notes.
Citation
Cite Urban Growth Center alongside the original paper or data source listed on each dataset’s documentation page.
Development Data Lab. (2026). Urban Growth Center. https://cities.devdatalab.org/
Datasets are released under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
By accepting data provided by the Development Data Lab (DDL), you agree to the following conditions of release and acknowledge the following disclaimers: Neither DDL nor the contributors of data to DDL shall be held liable for any improper or incorrect use or application of the data provided, and assume no responsibility for the use or application of the data or information derived from interpretation of the data. In no event shall DDL or its collaborators be liable for any direct, indirect, or incidental damages arising from the use or application of these data. This disclaimer of liability applies to any damages or injury, including but not limited to those caused by any failure of performance, error, omission, defect, delay in operation or transmission, computer virus, alteration, use, application, analysis, or interpretation of data. No warranty, expressed or implied, is made regarding the accuracy, adequacy, completeness, reliability, or usefulness of any data provided. These data are provided on an "as is" basis. All warranties of any kind, express or implied, including but not limited to fitness for a particular use, freedom from computer viruses, and non-infringement of proprietary rights, are disclaimed. Data are added and changed periodically, and data may become out-of-date quickly. It is recommended that the user not let a significant period of time elapse between obtaining and using the data.
- Methodology paper — forthcoming
- Documentation — sources, schemas, release notes, and changelogs