Links

quadbin

CORE
You can learn more about Quadbins in the Spatial Indexes section of the documentation.

QUADBIN_BBOX

QUADBIN_BBOX(quadbin)
Description
Returns an array with the boundary box of a given Quadbin. This boundary box contains the minimum and maximum longitude and latitude. The output format is [West-South, East-North] or [min long, min lat, max long, max lat].
  • quadbin: INT64 Quadbin to get the bbox from.
Return type
ARRAY<FLOAT64>
Example
carto-un
carto-un-eu
carto-os
manual
SELECT `carto-un`.carto.QUADBIN_BBOX(5209574053332910079);
-- 22.5
-- -21.943045533438166
-- 45.0
-- 0.0
SELECT `carto-un-eu`.carto.QUADBIN_BBOX(5209574053332910079);
-- 22.5
-- -21.943045533438166
-- 45.0
-- 0.0
SELECT `carto-os`.carto.QUADBIN_BBOX(5209574053332910079);
-- 22.5
-- -21.943045533438166
-- 45.0
-- 0.0
SELECT carto.QUADBIN_BBOX(5209574053332910079);
-- 22.5
-- -21.943045533438166
-- 45.0
-- 0.0

QUADBIN_BOUNDARY

QUADBIN_BOUNDARY(quadbin)
Description
Returns the boundary for a given Quadbin as a polygon GEOGRAPHY with the same coordinates as given by the QUADBIN_BBOX function.
  • quadbin: INT64 Quadbin to get the boundary geography from.
Return type
GEOGRAPHY
Example
carto-un
carto-un-eu
carto-os
manual
SELECT `carto-un`.carto.QUADBIN_BOUNDARY(5209574053332910079);
-- POLYGON((22.5 0, 22.5 -21.9430455334382, 45 -21.9430455334382, 45 0, 22.5 0))
SELECT `carto-un-eu`.carto.QUADBIN_BOUNDARY(5209574053332910079);
-- POLYGON((22.5 0, 22.5 -21.9430455334382, 45 -21.9430455334382, 45 0, 22.5 0))
SELECT `carto-os`.carto.QUADBIN_BOUNDARY(5209574053332910079);
-- POLYGON((22.5 0, 22.5 -21.9430455334382, 45 -21.9430455334382, 45 0, 22.5 0))
SELECT carto.QUADBIN_BOUNDARY(5209574053332910079);
-- POLYGON((22.5 0, 22.5 -21.9430455334382, 45 -21.9430455334382, 45 0, 22.5 0))
Quadbin Cell edges are spherical geodesics. The boundary edges can be interpreted as straight lines in other GIS tools, so to export the exact shape of the cells, use ST_GEOGFROM(ST_ASGEOJSON(geog). In this process, BigQuery will add intermediate points to preserve the geodesic curves.

QUADBIN_CENTER

QUADBIN_CENTER(quadbin)
Description
Returns the center of a given Quadbin. The center is the intersection point of the four immediate children Quadbins.
  • quadbin: INT64 Quadbin to get the center from.
Return type
GEOGRAPHY
Example
carto-un
carto-un-eu
carto-os
manual
SELECT `carto-un`.carto.QUADBIN_CENTER(5209574053332910079);
-- POINT(33.75 -11.1784018737118)
SELECT `carto-un-eu`.carto.QUADBIN_CENTER(5209574053332910079);
-- POINT(33.75 -11.1784018737118)
SELECT `carto-os`.carto.QUADBIN_CENTER(5209574053332910079);
-- POINT(33.75 -11.1784018737118)
SELECT carto.QUADBIN_CENTER(5209574053332910079);
-- POINT(33.75 -11.1784018737118)

QUADBIN_FROMGEOGPOINT

QUADBIN_FROMGEOGPOINT(point, resolution)
Description
Returns the Quadbin of a given point at a given level of detail.
  • point: GEOGRAPHY point to get the Quadbin from.
  • resolution: INT64 level of detail or zoom.
Return type
INT64
Example
carto-un
carto-un-eu
carto-os
manual
SELECT `carto-un`.carto.QUADBIN_FROMGEOGPOINT(ST_GEOGPOINT(40.4168, -3.7038), 4);
-- 5209574053332910079
SELECT `carto-un-eu`.carto.QUADBIN_FROMGEOGPOINT(ST_GEOGPOINT(40.4168, -3.7038), 4);
-- 5209574053332910079
SELECT `carto-os`.carto.QUADBIN_FROMGEOGPOINT(ST_GEOGPOINT(40.4168, -3.7038), 4);
-- 5209574053332910079
SELECT carto.QUADBIN_FROMGEOGPOINT(ST_GEOGPOINT(40.4168, -3.7038), 4);
-- 5209574053332910079

QUADBIN_FROMLONGLAT

QUADBIN_FROMLONGLAT(longitude, latitude, resolution)
Description
Returns the Quadbin representation of a point for a given level of detail and geographic coordinates.
  • longitude: FLOAT64 longitude (WGS84) of the point.
  • latitude: FLOAT64 latitude (WGS84) of the point.
  • resolution: INT64 level of detail or zoom.
Return type
INT64
Example
carto-un
carto-un-eu
carto-os
manual
SELECT `carto-un`.carto.QUADBIN_FROMLONGLAT(40.4168, -3.7038, 4);
-- 5209574053332910079
SELECT `carto-un-eu`.carto.QUADBIN_FROMLONGLAT(40.4168, -3.7038, 4);
-- 5209574053332910079
SELECT `carto-os`.carto.QUADBIN_FROMLONGLAT(40.4168, -3.7038, 4);
-- 5209574053332910079
SELECT carto.QUADBIN_FROMLONGLAT(40.4168, -3.7038, 4);
-- 5209574053332910079

QUADBIN_FROMQUADKEY

QUADBIN_FROMQUADKEY(quadkey)
Description
Compute a quadbin index from a quadkey.
  • quadkey: STRING Quadkey representation of the index.
Return type
INT64
Example
carto-un
carto-un-eu
carto-os
manual
SELECT `carto-un`.carto.QUADBIN_FROMQUADKEY('0231001222');
-- 5233974874938015743
SELECT `carto-un-eu`.carto.QUADBIN_FROMQUADKEY('0231001222');
-- 5233974874938015743
SELECT `carto-os`.carto.QUADBIN_FROMQUADKEY('0231001222');
-- 5233974874938015743
SELECT carto.QUADBIN_FROMQUADKEY('0231001222');
-- 5233974874938015743

QUADBIN_FROMZXY

QUADBIN_FROMZXY(z, x, y)
Description
Returns a Quadbin from z, x, y tile coordinates.
  • z: INT64 zoom level.
  • x: INT64 horizontal position of a tile.
  • y: INT64 vertical position of a tile.
Constraints
Tile coordinates x and y depend on the zoom level z. For both coordinates, the minimum value is 0, and the maximum value is two to the power of z, minus one (2^z - 1).
Note that the y coordinate increases from North to South, and the y coordinate from West to East.
Return type
INT64
Example
carto-un
carto-un-eu
carto-os
manual
SELECT `carto-un`.carto.QUADBIN_FROMZXY(4, 9, 8);
-- 5209574053332910079
SELECT `carto-un-eu`.carto.QUADBIN_FROMZXY(4, 9, 8);
-- 5209574053332910079
SELECT `carto-os`.carto.QUADBIN_FROMZXY(4, 9, 8);
-- 5209574053332910079
SELECT carto.QUADBIN_FROMZXY(4, 9, 8);
-- 5209574053332910079

QUADBIN_ISVALID

QUADBIN_ISVALID(quadbin)
Description
Returns true when the given index is a valid Quadbin, false otherwise.
  • quadbin: INT64 Quadbin index.
Return type
BOOLEAN
Examples
carto-un
carto-un-eu
carto-os
manual
SELECT `carto-un`.carto.QUADBIN_ISVALID(5209574053332910079);
-- true
SELECT `carto-un-eu`.carto.QUADBIN_ISVALID(5209574053332910079);
-- true
SELECT `carto-os`.carto.QUADBIN_ISVALID(5209574053332910079);
-- true
SELECT carto.QUADBIN_ISVALID(5209574053332910079);
-- true
carto-un
carto-un-eu
carto-os
manual
SELECT `carto-un`.carto.QUADBIN_ISVALID(1234);
-- false
SELECT `carto-un-eu`.carto.QUADBIN_ISVALID(1234);
-- false
SELECT `carto-os`.carto.QUADBIN_ISVALID(1234);
-- false
SELECT carto.QUADBIN_ISVALID(1234);
-- false

QUADBIN_KRING

QUADBIN_KRING(origin, size)
Description
Returns all Quadbin cell indexes in a filled square k-ring centered at the origin in no particular order.
  • origin: INT64 Quadbin index of the origin.
  • size: INT64 size of the ring (distance from the origin).
Return type
ARRAY<INT64>
Example
carto-un
carto-un-eu
carto-os
manual
SELECT `carto-un`.carto.QUADBIN_KRING(5209574053332910079, 1);
-- 5208043533147045887
-- 5209556461146865663
-- 5209591645518954495
-- 5208061125333090303
-- 5209574053332910079
-- 5209609237704998911
-- 5208113901891223551
-- 5209626829891043327
-- 5209662014263132159
SELECT `carto-un-eu`.carto.QUADBIN_KRING(5209574053332910079, 1);
-- 5208043533147045887
-- 5209556461146865663
-- 5209591645518954495
-- 5208061125333090303
-- 5209574053332910079
-- 5209609237704998911
-- 5208113901891223551
-- 5209626829891043327
-- 5209662014263132159
SELECT `carto-os`.carto.QUADBIN_KRING(5209574053332910079, 1);
-- 5208043533147045887
-- 5209556461146865663
-- 5209591645518954495
-- 5208061125333090303
-- 5209574053332910079
-- 5209609237704998911
-- 5208113901891223551
-- 5209626829891043327
-- 5209662014263132159
SELECT carto.QUADBIN_KRING(5209574053332910079, 1);
-- 5208043533147045887
-- 5209556461146865663
-- 5209591645518954495
-- 5208061125333090303
-- 5209574053332910079
-- 5209609237704998911
-- 5208113901891223551
-- 5209626829891043327
-- 5209662014263132159

QUADBIN_KRING_DISTANCES

QUADBIN_KRING_DISTANCES(origin, size)
Description
Returns all Quadbin cell indexes and their distances in a filled square k-ring centered at the origin in no particular order.
  • origin: INT64 Quadbin index of the origin.
  • size: INT64 size of the ring (distance from the origin).
Return type
ARRAY<STRUCT<index INT64, distance INT64>>
Example
carto-un
carto-un-eu
carto-os
manual
SELECT `carto-un`.carto.QUADBIN_KRING_DISTANCES(5209574053332910079, 1);
-- {"index": "5208043533147045887", "distance": "1"}
-- {"index": "5209556461146865663", "distance": "1"}
-- {"index": "5209591645518954495", "distance": "1"}
-- {"index": "5208061125333090303", "distance": "1"}
-- {"index": "5209574053332910079", "distance": "0"}
-- {"index": "5209609237704998911", "distance": "1"}
-- {"index": "5208113901891223551", "distance": "1"}
-- {"index": "5209626829891043327", "distance": "1"}
-- {"index": "5209662014263132159", "distance": "1"}
SELECT `carto-un-eu`.carto.QUADBIN_KRING_DISTANCES(5209574053332910079, 1);
-- {"index": "5208043533147045887", "distance": "1"}
-- {"index": "5209556461146865663", "distance": "1"}
-- {"index": "5209591645518954495", "distance": "1"}
-- {"index": "5208061125333090303", "distance": "1"}
-- {"index": "5209574053332910079", "distance": "0"}
-- {"index": "5209609237704998911", "distance": "1"}
-- {"index": "5208113901891223551", "distance": "1"}
-- {"index": "5209626829891043327", "distance": "1"}
-- {"index": "5209662014263132159", "distance": "1"}
SELECT `carto-os`.carto.QUADBIN_KRING_DISTANCES(5209574053332910079, 1);
-- {"index": "5208043533147045887", "distance": "1"}
-- {"index": "5209556461146865663", "distance": "1"}
-- {"index": "5209591645518954495", "distance": "1"}
-- {"index": "5208061125333090303", "distance": "1"}
-- {"index": "5209574053332910079", "distance": "0"}
-- {"index": "5209609237704998911", "distance": "1"}
-- {"index": "5208113901891223551", "distance": "1"}
-- {"index": "5209626829891043327", "distance": "1"}
-- {"index": "5209662014263132159", "distance": "1"}
SELECT carto.QUADBIN_KRING_DISTANCES(5209574053332910079, 1);
-- {"index": "5208043533147045887", "distance": "1"}
-- {"index": "5209556461146865663", "distance": "1"}
-- {"index": "5209591645518954495", "distance": "1"}
-- {"index": "5208061125333090303", "distance": "1"}
-- {"index": "5209574053332910079", "distance": "0"}
-- {"index": "5209609237704998911", "distance": "1"}
-- {"index": "5208113901891223551", "distance": "1"}
-- {"index": "5209626829891043327", "distance": "1"}
-- {"index": "5209662014263132159", "distance": "1"}
tip
The distance of the rings is computed as the Chebyshev distance.

QUADBIN_POLYFILL

QUADBIN_POLYFILL(geography, resolution)
Description
Returns an array of Quadbins that intersect with the given geography at a given level of detail.
  • geography: GEOGRAPHY geography to extract the Quadbins from.
  • resolution: INT64 level of detail or zoom.
Return type
ARRAY<INT64>
Example
carto-un
carto-un-eu
carto-os
manual
SELECT `carto-un`.carto.QUADBIN_POLYFILL(
ST_GEOGFROMTEXT('POLYGON ((-3.71219873428345 40.413365349070865, -3.7144088745117 40.40965661286395, -3.70659828186035 40.409525904775634, -3.71219873428345 40.413365349070865))'),
17);
-- 5265786693153193983
-- 5265786693163941887
-- 5265786693164466175
-- 5265786693164204031
-- 5265786693164728319
-- 5265786693165514751
SELECT `carto-un-eu`.carto.QUADBIN_POLYFILL(
ST_GEOGFROMTEXT('POLYGON ((-3.71219873428345 40.413365349070865, -3.7144088745117 40.40965661286395, -3.70659828186035 40.409525904775634, -3.71219873428345 40.413365349070865))'),
17);
-- 5265786693153193983
-- 5265786693163941887
-- 5265786693164466175
-- 5265786693164204031
-- 5265786693164728319
-- 5265786693165514751
SELECT `carto-os`.carto.QUADBIN_POLYFILL(
ST_GEOGFROMTEXT('POLYGON ((-3.71219873428345 40.413365349070865, -3.7144088745117 40.40965661286395, -3.70659828186035 40.409525904775634, -3.71219873428345 40.413365349070865))'),
17);
-- 5265786693153193983
-- 5265786693163941887
-- 5265786693164466175
-- 5265786693164204031
-- 5265786693164728319
-- 5265786693165514751
SELECT carto.QUADBIN_POLYFILL(
ST_GEOGFROMTEXT('POLYGON ((-3.71219873428345 40.413365349070865, -3.7144088745117 40.40965661286395, -3.70659828186035 40.409525904775634, -3.71219873428345 40.413365349070865))'),
17);
-- 5265786693153193983
-- 5265786693163941887
-- 5265786693164466175
-- 5265786693164204031
-- 5265786693164728319
-- 5265786693165514751

QUADBIN_RESOLUTION

QUADBIN_RESOLUTION(quadbin)
Description
Returns the resolution of the input Quadbin.
  • quadbin: INT64 Quadbin from which to get the resolution.
Return type
INT64
Example
carto-un
carto-un-eu
carto-os
manual
SELECT `carto-un`.carto.QUADBIN_RESOLUTION(5209574053332910079);
-- 4
SELECT `carto-un-eu`.carto.QUADBIN_RESOLUTION(5209574053332910079);
-- 4
SELECT `carto-os`.carto.QUADBIN_RESOLUTION(5209574053332910079);
-- 4
SELECT carto.QUADBIN_RESOLUTION(5209574053332910079);
-- 4

QUADBIN_SIBLING

QUADBIN_SIBLING(quadbin, direction)
Description
Returns the Quadbin directly next to the given Quadbin at the same resolution. The direction must be set in the corresponding argument and currently only horizontal/vertical neigbours are supported. It will return NULL if the sibling does not exist.
  • quadbin: INT64 Quadbin to get the sibling from.
  • direction: STRING 'right'|'left'|'up'|'down' direction to move in to extract the next sibling.
Return type
INT64
Example
carto-un
carto-un-eu
carto-os
manual
SELECT `carto-un`.carto.QUADBIN_SIBLING(5209574053332910079, 'up');
-- 5208061125333090303
SELECT `carto-un-eu`.carto.QUADBIN_SIBLING(5209574053332910079, 'up');
-- 5208061125333090303
SELECT `carto-os`.carto.QUADBIN_SIBLING(5209574053332910079, 'up');
-- 5208061125333090303
SELECT carto.QUADBIN_SIBLING(5209574053332910079, 'up');
-- 5208061125333090303

QUADBIN_TOCHILDREN

QUADBIN_TOCHILDREN(quadbin, resolution)
Description
Returns an array with the children Quadbins of a given Quadbin for a specific resolution. A children Quadbin is a Quadbin of higher level of detail that is contained by the current Quadbin. Each Quadbin has four direct children (at the next higher resolution).
  • quadbin: INT64 Quadbin to get the children from.
  • resolution: INT64 resolution of the desired children.
Return type
ARRAY<INT64>
Example
carto-un
carto-un-eu
carto-os
manual
SELECT `carto-un`.carto.QUADBIN_TOCHILDREN(5209574053332910079, 5);
-- 5214064458820747263
-- 5214073254913769471
-- 5214068856867258367
-- 5214077652960280575
SELECT `carto-un-eu`.carto.QUADBIN_TOCHILDREN(5209574053332910079, 5);
-- 5214064458820747263
-- 5214073254913769471
-- 5214068856867258367
-- 5214077652960280575
SELECT `carto-os`.carto.QUADBIN_TOCHILDREN(5209574053332910079, 5);
-- 5214064458820747263
-- 5214073254913769471
-- 5214068856867258367
-- 5214077652960280575
SELECT carto.QUADBIN_TOCHILDREN(5209574053332910079, 5);
-- 5214064458820747263
-- 5214073254913769471
-- 5214068856867258367
-- 5214077652960280575

QUADBIN_TOPARENT

QUADBIN_TOPARENT(quadbin, resolution)
Description
Returns the parent (ancestor) Quadbin of a given Quadbin for a specific resolution. An ancestor of a given Quadbin is a Quadbin of smaller resolution that spatially contains it.
  • quadbin: INT64 Quadbin to get the parent from.
  • resolution: INT64 resolution of the desired parent.
Return type
INT64
Example
carto-un
carto-un-eu
carto-os
manual
SELECT `carto-un`.carto.QUADBIN_TOPARENT(5209574053332910079, 3);
-- 5205105638077628415
SELECT `carto-un-eu`.carto.QUADBIN_TOPARENT(5209574053332910079, 3);
-- 5205105638077628415
SELECT `carto-os`.carto.QUADBIN_TOPARENT(5209574053332910079, 3);
-- 5205105638077628415
SELECT carto.QUADBIN_TOPARENT(5209574053332910079, 3);
-- 5205105638077628415

QUADBIN_TOQUADKEY

QUADBIN_TOQUADKEY(quadbin)
Description
Compute a quadkey from a quadbin index.
  • quadbin: INT64 Quadbin index.
Return type
STRING
Example
carto-un
carto-un-eu
carto-os
manual
SELECT `carto-un`.carto.QUADBIN_TOQUADKEY(5233974874938015743);
-- '0231001222'
SELECT `carto-un-eu`.carto.QUADBIN_TOQUADKEY(5233974874938015743);
-- '0231001222'
SELECT `carto-os`.carto.QUADBIN_TOQUADKEY(5233974874938015743);
-- '0231001222'
SELECT carto.QUADBIN_TOQUADKEY(5233974874938015743);
-- '0231001222'

QUADBIN_TOZXY

QUADBIN_TOZXY(quadbin)
Description
Returns the zoom level z and coordinates x, y for a given Quadbin.
  • quadbin: INT64 Quadbin from which to obtain the coordinates.
Return type
STRUCT<INT64, INT64, INT64>
Example
carto-un
carto-un-eu
carto-os
manual
SELECT `carto-un`.carto.QUADBIN_TOZXY(5209574053332910079);
-- z x y
-- 4 9 8
SELECT `carto-un-eu`.carto.QUADBIN_TOZXY(5209574053332910079);
-- z x y
-- 4 9 8
SELECT `carto-os`.carto.QUADBIN_TOZXY(5209574053332910079);
-- z x y
-- 4 9 8
SELECT carto.QUADBIN_TOZXY(5209574053332910079);
-- z x y
-- 4 9 8
EU flag
This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 960401.
Last modified 14d ago