{
  "title": "Shaping Cool Cities spatial inputs on a nominal 30-unit Web-Mercator grid",
  "generated": "2026-08-07",
  "source_repository": "https://github.com/gerardoezequiel/ShapingCoolCities",
  "source_revision": "d2a364e99fe0242262130bfeab4de7c1a5ab707d",
  "archive": "shaping-cool-cities-spatial-inputs-cae435f7.pmtiles",
  "archive_sha256": "cae435f753c125f65debf736d91df65326817622a2bd1235d8f33cfff11b9648",
  "format": "PMTiles v3 / Mapbox Vector Tile",
  "crs": "EPSG:4326",
  "minimum_zoom": 10,
  "maximum_zoom": 14,
  "layers": {
    "spatial_cells": {
      "features": 40344,
      "geometry": "Polygon",
      "grid_spacing": "30 EPSG:3857 projection units; nominal analysis grid, not uniform 30 metre ground distance",
      "properties": {
        "gid": "Stable global grid identifier",
        "city": "Study city",
        "ndvi": "Normalised Difference Vegetation Index",
        "impervious": "Satellite-derived impervious-surface fraction",
        "sky_view": "VoxCity-derived sky-view factor",
        "tree_canopy": "VoxCity-derived tree-canopy ratio"
      }
    },
    "street_context": {
      "features": 11062,
      "geometry": "LineString",
      "properties": {
        "edge_id": "Urbanity street-edge identifier",
        "city": "Study city",
        "length": "Street-edge length in source units"
      }
    }
  },
  "voxcity_presentation_extracts": {
    "path": "/data/voxcity/{city}_voxels.json",
    "purpose": "Downsampled Three.js presentation of derived urban-form and solar-input voxels",
    "total_voxels": 190503,
    "source": "ShapingCoolCities/presentation/assets",
    "sha256": {
      "amsterdam": "c5e127cc3ef8e4408ca3fb242477b85d8d5bc8fdeefb8ab3639264908918a280",
      "athens": "7afa18c5531ca33b78f9b693b7ec8fe091e2c1910e2090213408388126f14a67",
      "barcelona": "05bae9501aa596544d10462b1654cac93e4f804aca909a02fba8eaa6005a30be",
      "berlin": "559cec7b60232c7226382dd3327bcce6c2ec60e5ab93c8b0e14b5982a1a1fd98",
      "madrid": "dabae93e086b3a19e02ee442da19ef67985cd0cfdcd42966e48d23291039283d",
      "paris": "f05d95b6abc45dfbea2bed264ee15d853b728dbd9ef00391f7456bfc64cf291e"
    }
  },
  "cities": [
    { "name": "Amsterdam", "cells": 6724, "bounds": [4.877852, 52.362076, 4.899951, 52.375568] },
    { "name": "Athens", "cells": 6724, "bounds": [23.708247, 37.978648, 23.730346, 37.996065] },
    { "name": "Barcelona", "cells": 6724, "bounds": [2.175091, 41.376601, 2.197189, 41.393182] },
    { "name": "Berlin", "cells": 6724, "bounds": [13.381215, 52.50945, 13.403313, 52.522898] },
    { "name": "Madrid", "cells": 6724, "bounds": [-3.735464, 40.413266, -3.713366, 40.43009] },
    { "name": "Paris", "cells": 6724, "bounds": [2.350801, 48.850191, 2.3729, 48.86473] }
  ],
  "display_domains": {
    "ndvi": [0.057, 0.594],
    "impervious_fraction": [0, 1],
    "sky_view_factor": [0.191, 0.869],
    "tree_canopy_ratio": [0, 0.56],
    "note": "Fixed six-city domains from pooled 5th and 95th percentiles, except bounded fractions. Values outside them remain in the cell register and are visually clipped.",
    "missing_values": {
      "ndvi": 0,
      "impervious_fraction": 0,
      "tree_canopy_ratio": 0,
      "sky_view_factor": {
        "total": 1670,
        "Amsterdam": 369,
        "Athens": 46,
        "Barcelona": 154,
        "Berlin": 548,
        "Madrid": 182,
        "Paris": 371
      }
    }
  },
  "source_sha256": {
    "data/utils/grids/all_cities_30m_grid.parquet": "3d6e52d2ba15575e61d07e770e8c4836d5a1cd7efef94c3e9cf481e7ffb71ebd",
    "data/1-processed/GoogleEarthEngine/All_cities_GEE_features_30m.parquet": "e0fecd087914ac1b0e5804e454399b1b46209d06f3eaf550fa874798073ae16b",
    "data/1-processed/VoxCity/VoxCity_grid_30m.parquet": "07f38d184e19f3a61a29f434fb84141b6e7f647cc9e5ebafa2a1cbc313d1d758",
    "data/1-processed/Urbanity/urbanity_edges_clipped.parquet": "f87b4f4277f942c3ed0b739bce2ccbed7efe1a643716bcaa55263041ae686589"
  },
  "attribution": "Derived research layers. Upstream sources and terms include USGS Landsat, ESA WorldCover, EUBUCCO, OpenStreetMap and the VoxCity toolkit; see the project repository for the complete source register.",
  "claim_boundary": "These layers describe selected spatial inputs to an ongoing urban-heat study. They do not establish heat exposure, causal drivers or intervention effects. Map extrusion is a normalised visual encoding, not physical elevation. VoxCity files are downsampled presentation extracts, not survey-grade city models."
}
