Census areas in the UK within tiles of multiple resolutions

WITH census_data AS (
SELECT geom, geoid
FROM `carto-do-public-data.gbr_cdrc.geography_gbr_outputarea_2011`
),
point_data AS (
SELECT -0.10481368396112065 AS longitude, 51.51493384150647 AS latitude, resolution
FROM UNNEST (GENERATE_ARRAY(11, 15)) AS resolution
),
quadkey_tiles AS (
SELECT `carto-un`.carto.QUADINT_TOZXY(
`carto-un`.carto.QUADINT_FROMLONGLAT(longitude, latitude, resolution)
) AS index
FROM point_data
)
SELECT ANY_VALUE(census.geom) AS area, MAX(index.z) AS level
FROM quadkey_tiles
JOIN census_data AS census
ON
ST_INTERSECTS(`carto-un`.carto.ST_TILEENVELOPE(index.z, index.x, index.y), census.geom)
GROUP BY census.geoid;WITH census_data AS (
SELECT geom, geoid
FROM `carto-do-public-data.gbr_cdrc.geography_gbr_outputarea_2011`
),
point_data AS (
SELECT -0.10481368396112065 AS longitude, 51.51493384150647 AS latitude, resolution
FROM UNNEST (GENERATE_ARRAY(11, 15)) AS resolution
),
quadkey_tiles AS (
SELECT `carto-un-eu`.carto.QUADINT_TOZXY(
`carto-un-eu`.carto.QUADINT_FROMLONGLAT(longitude, latitude, resolution)
) AS index
FROM point_data
)
SELECT ANY_VALUE(census.geom) AS area, MAX(index.z) AS level
FROM quadkey_tiles
JOIN census_data AS census
ON
ST_INTERSECTS(`carto-un-eu`.carto.ST_TILEENVELOPE(index.z, index.x, index.y), census.geom)
GROUP BY census.geoid;
Last updated
Was this helpful?


