h3
H3 is Uber’s Hexagonal Hierarchical Spatial Index. Full documentation of the project can be found at h3geo. You can also learn more about H3 in the Spatial Indexes section of this documentation.
H3_BOUNDARY
H3_BOUNDARY(index)Description
Returns a geography representing the H3 cell. It will return null on error (invalid input).
index:STRINGThe H3 cell index.
Return type
GEOGRAPHY
Example
SELECT `carto-un`.carto.H3_BOUNDARY('84390cbffffffff');
-- POLYGON((-3.57692743539573 40.6134385959352, -3.85975632308016 ...SELECT `carto-un-eu`.carto.H3_BOUNDARY('84390cbffffffff');
-- POLYGON((-3.57692743539573 40.6134385959352, -3.85975632308016 ...SELECT carto.H3_BOUNDARY('84390cbffffffff');
-- POLYGON((-3.57692743539573 40.6134385959352, -3.85975632308016 ...H3_CENTER
H3_CENTER(index)Description
Returns the center of the H3 cell as a GEOGRAPHY point. It will return null on error (invalid input).
index:STRINGThe H3 cell index.
Return type
GEOGRAPHY
Example
SELECT `carto-un`.carto.H3_CENTER('84390cbffffffff');
-- POINT(-3.61760324662829 40.3725405821658)SELECT `carto-un-eu`.carto.H3_CENTER('84390cbffffffff');
-- POINT(-3.61760324662829 40.3725405821658)SELECT carto.H3_CENTER('84390cbffffffff');
-- POINT(-3.61760324662829 40.3725405821658)H3_COMPACT
H3_COMPACT(indexArray)Description
Returns an array with the indexes of a set of hexagons across multiple resolutions that represent the same area as the input set of hexagons.
indexArray:ARRAY<STRING>of H3 cell indices of the same resolution.
Return type
ARRAY<STRING>
Example
SELECT `carto-un`.carto.H3_COMPACT(['85390ca3fffffff', '85390ca7fffffff', '85390cabfffffff', '85390caffffffff', '85390cb3fffffff', '85390cb7fffffff', '85390cbbfffffff']);
-- 84390cbffffffffSELECT `carto-un-eu`.carto.H3_COMPACT(['85390ca3fffffff', '85390ca7fffffff', '85390cabfffffff', '85390caffffffff', '85390cb3fffffff', '85390cb7fffffff', '85390cbbfffffff']);
-- 84390cbffffffffSELECT carto.H3_COMPACT(['85390ca3fffffff', '85390ca7fffffff', '85390cabfffffff', '85390caffffffff', '85390cb3fffffff', '85390cb7fffffff', '85390cbbfffffff']);
-- 84390cbffffffffH3_DISTANCE
H3_DISTANCE(origin, destination)Description
Returns the grid distance between two hexagon indexes. This function may fail to find the distance between two indexes if they are very far apart or on opposite sides of a pentagon. Returns null on failure or invalid input.
origin:STRINGorigin H3 cell index.destination:STRINGdestination H3 cell index.
Return type
INT64
Example
SELECT `carto-un`.carto.H3_DISTANCE('84390c1ffffffff', '84390cbffffffff');
-- 1SELECT `carto-un-eu`.carto.H3_DISTANCE('84390c1ffffffff', '84390cbffffffff');
-- 1SELECT carto.H3_DISTANCE('84390c1ffffffff', '84390cbffffffff');
-- 1H3_FROMGEOGPOINT
H3_FROMGEOGPOINT(point, resolution)Description
Returns the H3 cell index that the point belongs to in the requested resolution. It will return null on error (invalid geography type or resolution out of bounds). This function is an alias for H3_FROMGEOPOINT.
point:GEOGRAPHYpoint to get the H3 cell from.resolution:INT64number between 0 and 15 with the H3 resolution.
Return type
STRING
Example
SELECT `carto-un`.carto.H3_FROMGEOGPOINT(ST_GEOGPOINT(-3.7038, 40.4168), 4);
-- 84390cbffffffffSELECT `carto-un-eu`.carto.H3_FROMGEOGPOINT(ST_GEOGPOINT(-3.7038, 40.4168), 4);
-- 84390cbffffffffSELECT carto.H3_FROMGEOGPOINT(ST_GEOGPOINT(-3.7038, 40.4168), 4);
-- 84390cbffffffffH3_FROMLONGLAT
H3_FROMLONGLAT(longitude, latitude, resolution)Description
Returns the H3 cell index that the point belongs to in the required resolution. It will return null on error (resolution out of bounds).
longitude:FLOAT64horizontal coordinate of the map.latitude:FLOAT64vertical coordinate of the map.resolution:INT64number between 0 and 15 with the H3 resolution.
Return type
STRING
Example
SELECT `carto-un`.carto.H3_FROMLONGLAT(-3.7038, 40.4168, 4);
-- 84390cbffffffffSELECT `carto-un-eu`.carto.H3_FROMLONGLAT(-3.7038, 40.4168, 4);
-- 84390cbffffffffSELECT carto.H3_FROMLONGLAT(-3.7038, 40.4168, 4);
-- 84390cbffffffffH3_HEXRING
H3_HEXRING(origin, size)Description
Returns all cell indexes in a hollow hexagonal ring centered at the origin in no particular order. Unlike H3_KRING, this function will throw an exception if there is a pentagon anywhere in the ring.
origin:STRINGH3 cell index of the origin.size:INT64size of the ring (distance from the origin).
Return type
ARRAY<STRING>
Example
SELECT `carto-un`.carto.H3_HEXRING('84390cbffffffff', 1);
-- 84392b5ffffffff
-- 84390c9ffffffff
-- 84390c1ffffffff
-- 84390c3ffffffff
-- 84390ddffffffff
-- 84392b7ffffffffSELECT `carto-un-eu`.carto.H3_HEXRING('84390cbffffffff', 1);
-- 84392b5ffffffff
-- 84390c9ffffffff
-- 84390c1ffffffff
-- 84390c3ffffffff
-- 84390ddffffffff
-- 84392b7ffffffffSELECT carto.H3_HEXRING('84390cbffffffff', 1);
-- 84392b5ffffffff
-- 84390c9ffffffff
-- 84390c1ffffffff
-- 84390c3ffffffff
-- 84390ddffffffff
-- 84392b7ffffffffH3_INT_TOSTRING
H3_INT_TOSTRING(index)Description
Converts the integer representation of the H3 index to the string representation.
index:INT64The H3 cell index.
Return type
STRING
Example
SELECT `carto-un`.carto.H3_INT_TOSTRING(595478781590765567);
-- 84390cbffffffffSELECT `carto-un-eu`.carto.H3_INT_TOSTRING(595478781590765567);
-- 84390cbffffffffSELECT carto.H3_INT_TOSTRING(595478781590765567);
-- 84390cbffffffffH3_ISPENTAGON
H3_ISPENTAGON(index)Description
Returns true if given H3 index is a pentagon. Returns false otherwise, even on invalid input.
index:STRINGThe H3 cell index.
Return type
BOOLEAN
Example
SELECT `carto-un`.carto.H3_ISPENTAGON('84390cbffffffff');
-- falseSELECT `carto-un-eu`.carto.H3_ISPENTAGON('84390cbffffffff');
-- falseSELECT carto.H3_ISPENTAGON('84390cbffffffff');
-- falseSELECT `carto-un`.carto.H3_ISPENTAGON('8075fffffffffff');
-- trueSELECT `carto-un-eu`.carto.H3_ISPENTAGON('8075fffffffffff');
-- trueSELECT carto.H3_ISPENTAGON('8075fffffffffff');
-- trueH3_ISVALID
H3_ISVALID(index)Description
Returns true when the given index is a valid H3 index, false otherwise.
index:STRINGThe H3 cell index.
Return type
BOOLEAN
Examples
SELECT `carto-un`.carto.H3_ISVALID('84390cbffffffff');
-- trueSELECT `carto-un-eu`.carto.H3_ISVALID('84390cbffffffff');
-- trueSELECT carto.H3_ISVALID('84390cbffffffff');
-- trueSELECT `carto-un`.carto.H3_ISVALID('1');
-- falseSELECT `carto-un-eu`.carto.H3_ISVALID('1');
-- falseSELECT carto.H3_ISVALID('1');
-- falseH3_KRING
H3_KRING(origin, size)Description
Returns all cell indexes in a filled hexagonal k-ring centered at the origin in no particular order.
origin:STRINGH3 cell index of the origin.size:INT64size of the ring (distance from the origin).
Return type
ARRAY<STRING>
Example
SELECT `carto-un`.carto.H3_KRING('84390cbffffffff', 1);
-- 84390cbffffffff
-- 84390c9ffffffff
-- 84390c1ffffffff
-- 84390c3ffffffff
-- 84390ddffffffff
-- 84392b7ffffffff
-- 84392b5ffffffffSELECT `carto-un-eu`.carto.H3_KRING('84390cbffffffff', 1);
-- 84390cbffffffff
-- 84390c9ffffffff
-- 84390c1ffffffff
-- 84390c3ffffffff
-- 84390ddffffffff
-- 84392b7ffffffff
-- 84392b5ffffffffSELECT carto.H3_KRING('84390cbffffffff', 1);
-- 84390cbffffffff
-- 84390c9ffffffff
-- 84390c1ffffffff
-- 84390c3ffffffff
-- 84390ddffffffff
-- 84392b7ffffffff
-- 84392b5ffffffffH3_KRING_DISTANCES
H3_KRING_DISTANCES(origin, size)Description
Returns all cell indexes and their distances in a filled hexagonal k-ring centered at the origin in no particular order.
origin:STRINGH3 cell index of the origin.size:INT64size of the ring (distance from the origin).
Return type
ARRAY<STRUCT<index STRING, distance INT64>>
Example
SELECT `carto-un`.carto.H3_KRING_DISTANCES('84390cbffffffff', 1);
-- {"index": "84390cbffffffff", "distance": "0"}
-- {"index": "84390c9ffffffff", "distance": "1"}
-- {"index": "84390c1ffffffff", "distance": "1"}
-- {"index": "84390c3ffffffff", "distance": "1"}
-- {"index": "84390ddffffffff", "distance": "1"}
-- {"index": "84392b7ffffffff", "distance": "1"}
-- {"index": "84392b5ffffffff", "distance": "1"}SELECT `carto-un-eu`.carto.H3_KRING_DISTANCES('84390cbffffffff', 1);
-- {"index": "84390cbffffffff", "distance": "0"}
-- {"index": "84390c9ffffffff", "distance": "1"}
-- {"index": "84390c1ffffffff", "distance": "1"}
-- {"index": "84390c3ffffffff", "distance": "1"}
-- {"index": "84390ddffffffff", "distance": "1"}
-- {"index": "84392b7ffffffff", "distance": "1"}
-- {"index": "84392b5ffffffff", "distance": "1"}SELECT carto.H3_KRING_DISTANCES('84390cbffffffff', 1);
-- {"index": "84390cbffffffff", "distance": "0"}
-- {"index": "84390c9ffffffff", "distance": "1"}
-- {"index": "84390c1ffffffff", "distance": "1"}
-- {"index": "84390c3ffffffff", "distance": "1"}
-- {"index": "84390ddffffffff", "distance": "1"}
-- {"index": "84392b7ffffffff", "distance": "1"}
-- {"index": "84392b5ffffffff", "distance": "1"}H3_POLYFILL
H3_POLYFILL(geog, resolution)Description
Returns an array of H3 cell indexes contained in the given geography (Polygon, MultiPolygon) at a requested resolution. Containment is determined by the cells' center. This function is equivalent to H3_POLYFILL_MODE with mode center.
geog:GEOGRAPHYrepresenting the shape to cover.resolution:INT64level of detail. The value must be between 0 and 15 (H3 resolution table).
Use H3_POLYFILL_MODE with mode intersects in the following cases:
You want to provide the minimum covering set of a Polygon, MultiPolygon.
The input geography type is Point, MultiPoint, LineString, MultiLineString.
Return type
ARRAY<STRING>
Examples
SELECT `carto-un`.carto.H3_POLYFILL(
ST_GEOGFROMTEXT('POLYGON ((-3.71219873428345 40.413365349070865, -3.7144088745117 40.40965661286395, -3.70659828186035 40.409525904775634, -3.71219873428345 40.413365349070865))'),
9
);
-- [89390cb1b4bffff]SELECT `carto-un-eu`.carto.H3_POLYFILL(
ST_GEOGFROMTEXT('POLYGON ((-3.71219873428345 40.413365349070865, -3.7144088745117 40.40965661286395, -3.70659828186035 40.409525904775634, -3.71219873428345 40.413365349070865))'),
9
);
-- [89390cb1b4bffff]SELECT carto.H3_POLYFILL(
ST_GEOGFROMTEXT('POLYGON ((-3.71219873428345 40.413365349070865, -3.7144088745117 40.40965661286395, -3.70659828186035 40.409525904775634, -3.71219873428345 40.413365349070865))'),
9
);
-- [89390cb1b4bffff]SELECT h3
FROM UNNEST(`carto-un`.carto.H3_POLYFILL(
ST_GEOGFROMTEXT('POLYGON ((-3.71219873428345 40.413365349070865, -3.7144088745117 40.40965661286395, -3.70659828186035 40.409525904775634, -3.71219873428345 40.413365349070865))'),
9
)) AS h3;
-- 89390cb1b4bffffSELECT h3
FROM UNNEST(`carto-un-eu`.carto.H3_POLYFILL(
ST_GEOGFROMTEXT('POLYGON ((-3.71219873428345 40.413365349070865, -3.7144088745117 40.40965661286395, -3.70659828186035 40.409525904775634, -3.71219873428345 40.413365349070865))'),
9
)) AS h3;
-- 89390cb1b4bffffSELECT h3
FROM UNNEST(carto.H3_POLYFILL(
ST_GEOGFROMTEXT('POLYGON ((-3.71219873428345 40.413365349070865, -3.7144088745117 40.40965661286395, -3.70659828186035 40.409525904775634, -3.71219873428345 40.413365349070865))'),
9
)) AS h3;
-- 89390cb1b4bffffSELECT h3
FROM <project>.<dataset>.<table>,
UNNEST(`carto-un`.carto.H3_POLYFILL(geog, 9)) AS h3;SELECT h3
FROM <project>.<dataset>.<table>,
UNNEST(`carto-un-eu`.carto.H3_POLYFILL(geog, 9)) AS h3;SELECT h3
FROM <project>.<dataset>.<table>,
UNNEST(carto.H3_POLYFILL(geog, 9)) AS h3;H3_POLYFILL_MODE
H3_POLYFILL_MODE(geog, resolution, mode)Description
Returns an array of H3 cell indexes contained in the given geography at a requested resolution. Containment is determined by the mode: center, intersects, contains.
geog:GEOGRAPHYrepresenting the shape to cover.resolution:INT64level of detail. The value must be between 0 and 15 (H3 resolution table).mode:STRINGcenterreturns the indexes of the H3 cells which centers intersect the input geography (polygon). The resulting H3 set does not fully cover the input geography, however, this is significantly faster that the other modes. This mode is not compatible with points or lines. Equivalent toH3_POLYFILL.intersectsreturns the indexes of the H3 cells that intersect the input geography. The resulting H3 set will completely cover the input geography (point, line, polygon).containsreturns the indexes of the H3 cells that are entirely contained inside the input geography (polygon). This mode is not compatible with points or lines.
Mode center:

Mode intersects:

Mode contains:

Return type
ARRAY<STRING>
Examples
SELECT `carto-un`.carto.H3_POLYFILL_MODE(
ST_GEOGFROMTEXT('POLYGON ((-3.71219873428345 40.413365349070865, -3.7144088745117 40.40965661286395, -3.70659828186035 40.409525904775634, -3.71219873428345 40.413365349070865))'),
9, 'intersects'
);
-- [89390cb1b5bffff, 89390ca34b3ffff, 89390ca3487ffff, 89390ca3497ffff, 89390cb1b4bffff, 89390cb1b4fffff]SELECT `carto-un-eu`.carto.H3_POLYFILL_MODE(
ST_GEOGFROMTEXT('POLYGON ((-3.71219873428345 40.413365349070865, -3.7144088745117 40.40965661286395, -3.70659828186035 40.409525904775634, -3.71219873428345 40.413365349070865))'),
9, 'intersects'
);
-- [89390cb1b5bffff, 89390ca34b3ffff, 89390ca3487ffff, 89390ca3497ffff, 89390cb1b4bffff, 89390cb1b4fffff]SELECT carto.H3_POLYFILL_MODE(
ST_GEOGFROMTEXT('POLYGON ((-3.71219873428345 40.413365349070865, -3.7144088745117 40.40965661286395, -3.70659828186035 40.409525904775634, -3.71219873428345 40.413365349070865))'),
9, 'intersects'
);
-- [89390cb1b5bffff, 89390ca34b3ffff, 89390ca3487ffff, 89390ca3497ffff, 89390cb1b4bffff, 89390cb1b4fffff]SELECT h3
FROM UNNEST(`carto-un`.carto.H3_POLYFILL_MODE(
ST_GEOGFROMTEXT('POLYGON ((-3.71219873428345 40.413365349070865, -3.7144088745117 40.40965661286395, -3.70659828186035 40.409525904775634, -3.71219873428345 40.413365349070865))'),
9, 'intersects'
)) AS h3;
-- 89390cb1b5bffff
-- 89390ca34b3ffff
-- 89390ca3487ffff
-- 89390ca3497ffff
-- 89390cb1b4bffff
-- 89390cb1b4fffffSELECT h3
FROM UNNEST(`carto-un-eu`.carto.H3_POLYFILL_MODE(
ST_GEOGFROMTEXT('POLYGON ((-3.71219873428345 40.413365349070865, -3.7144088745117 40.40965661286395, -3.70659828186035 40.409525904775634, -3.71219873428345 40.413365349070865))'),
9, 'intersects'
)) AS h3;
-- 89390cb1b5bffff
-- 89390ca34b3ffff
-- 89390ca3487ffff
-- 89390ca3497ffff
-- 89390cb1b4bffff
-- 89390cb1b4fffffSELECT h3
FROM UNNEST(carto.H3_POLYFILL_MODE(
ST_GEOGFROMTEXT('POLYGON ((-3.71219873428345 40.413365349070865, -3.7144088745117 40.40965661286395, -3.70659828186035 40.409525904775634, -3.71219873428345 40.413365349070865))'),
9, 'intersects'
)) AS h3;
-- 89390cb1b5bffff
-- 89390ca34b3ffff
-- 89390ca3487ffff
-- 89390ca3497ffff
-- 89390cb1b4bffff
-- 89390cb1b4fffffSELECT h3
FROM <project>.<dataset>.<table>,
UNNEST(`carto-un`.carto.H3_POLYFILL_MODE(geog, 9, 'intersects')) AS h3;SELECT h3
FROM <project>.<dataset>.<table>,
UNNEST(`carto-un-eu`.carto.H3_POLYFILL_MODE(geog, 9, 'intersects')) AS h3;SELECT h3
FROM <project>.<dataset>.<table>,
UNNEST(carto.H3_POLYFILL_MODE(geog, 9, 'intersects')) AS h3;H3_POLYFILL_TABLE (BETA)
H3_POLYFILL_TABLE(input_query, resolution, mode, output_table)Description
Returns a table with the H3 cell indexes contained in the given geography at a requested resolution. Containment is determined by the mode: center, intersects, contains. All the attributes except the geography will be included in the output table, clustered by the h3 column.
input_query:STRINGinput data to polyfill. It must contain a columngeomwith the shape to cover. Additionally, other columns can be included.resolution:INT64level of detail. The value must be between 0 and 15 (H3 resolution table).mode:STRINGcenterreturns the indexes of the H3 cells which centers intersect the input geography (polygon). The resulting H3 set does not fully cover the input geography, however, this is significantly faster that the other modes. This mode is not compatible with points or lines. Equivalent toH3_POLYFILL.intersectsreturns the indexes of the H3 cells that intersect the input geography. The resulting H3 set will completely cover the input geography (point, line, polygon).containsreturns the indexes of the H3 cells that are entirely contained inside the input geography (polygon). This mode is not compatible with points or lines.
output_table:STRINGname of the output table to store the results of the polyfill.
Mode center:

Mode intersects:

Mode contains:

Output
The results are stored in the table named <output_table>, which contains the following columns:
h3:STRINGthe geometry of the considered point.The rest of columns included in
input_queryexceptgeom.
Examples
CALL `carto-un`.carto.H3_POLYFILL_TABLE(
"SELECT ST_GEOGFROMTEXT('POLYGON ((-3.71219873428345 40.413365349070865, -3.7144088745117 40.40965661286395, -3.70659828186035 40.409525904775634, -3.71219873428345 40.413365349070865))') AS geom",
9, 'intersects',
'<project>.<dataset>.<output_table>'
);
-- The table `<project>.<dataset>.<output_table>` will be created
-- with column: h3CALL `carto-un-eu`.carto.H3_POLYFILL_TABLE(
"SELECT ST_GEOGFROMTEXT('POLYGON ((-3.71219873428345 40.413365349070865, -3.7144088745117 40.40965661286395, -3.70659828186035 40.409525904775634, -3.71219873428345 40.413365349070865))') AS geom",
9, 'intersects',
'<project>.<dataset>.<output_table>'
);
-- The table `<project>.<dataset>.<output_table>` will be created
-- with column: h3CALL carto.H3_POLYFILL_TABLE(
"SELECT ST_GEOGFROMTEXT('POLYGON ((-3.71219873428345 40.413365349070865, -3.7144088745117 40.40965661286395, -3.70659828186035 40.409525904775634, -3.71219873428345 40.413365349070865))') AS geom",
9, 'intersects',
'<project>.<dataset>.<output_table>'
);
-- The table `<project>.<dataset>.<output_table>` will be created
-- with column: h3CALL `carto-un`.carto.H3_POLYFILL_TABLE(
'SELECT geom, name, value FROM `<project>.<dataset>.<table>`',
9, 'center',
'<project>.<dataset>.<output_table>'
);
-- The table `<project>.<dataset>.<output_table>` will be created
-- with columns: h3, name, valueCALL `carto-un-eu`.carto.H3_POLYFILL_TABLE(
'SELECT geom, name, value FROM `<project>.<dataset>.<table>`',
9, 'center',
'<project>.<dataset>.<output_table>'
);
-- The table `<project>.<dataset>.<output_table>` will be created
-- with columns: h3, name, valueCALL carto.H3_POLYFILL_TABLE(
'SELECT geom, name, value FROM `<project>.<dataset>.<table>`',
9, 'center',
'<project>.<dataset>.<output_table>'
);
-- The table `<project>.<dataset>.<output_table>` will be created
-- with columns: h3, name, valueH3_RESOLUTION
H3_RESOLUTION(index)Description
Returns the H3 cell resolution as an integer. It will return null on error (invalid input).
index:STRINGThe H3 cell index.
Return type
INT64
Example
SELECT `carto-un`.carto.H3_RESOLUTION('84390cbffffffff');
-- 4SELECT `carto-un-eu`.carto.H3_RESOLUTION('84390cbffffffff');
-- 4SELECT carto.H3_RESOLUTION('84390cbffffffff');
-- 4H3_STRING_TOINT
H3_STRING_TOINT(index)Description
Converts the string representation of the H3 index to the integer representation.
index:STRINGThe H3 cell index.
Return type
INT64
Example
SELECT `carto-un`.carto.H3_STRING_TOINT('84390cbffffffff');
-- 595478781590765567SELECT `carto-un-eu`.carto.H3_STRING_TOINT('84390cbffffffff');
-- 595478781590765567SELECT carto.H3_STRING_TOINT('84390cbffffffff');
-- 595478781590765567H3_TOCHILDREN
H3_TOCHILDREN(index, resolution)Description
Returns an array with the H3 indexes of the children/descendents of the given hexagon at the given resolution.
index:STRINGThe H3 cell index.resolution:INT64number between 0 and 15 with the H3 resolution.
Return type
ARRAY<STRING>
Example
SELECT `carto-un`.carto.H3_TOCHILDREN('83390cfffffffff', 4);
-- 84390c1ffffffff
-- 84390c3ffffffff
-- 84390c5ffffffff
-- 84390c7ffffffff
-- 84390c9ffffffff
-- 84390cbffffffff
-- 84390cdffffffffSELECT `carto-un-eu`.carto.H3_TOCHILDREN('83390cfffffffff', 4);
-- 84390c1ffffffff
-- 84390c3ffffffff
-- 84390c5ffffffff
-- 84390c7ffffffff
-- 84390c9ffffffff
-- 84390cbffffffff
-- 84390cdffffffffSELECT carto.H3_TOCHILDREN('83390cfffffffff', 4);
-- 84390c1ffffffff
-- 84390c3ffffffff
-- 84390c5ffffffff
-- 84390c7ffffffff
-- 84390c9ffffffff
-- 84390cbffffffff
-- 84390cdffffffffH3_TOPARENT
H3_TOPARENT(index, resolution)Description
Returns the H3 cell index of the parent of the given hexagon at the given resolution.
index:STRINGThe H3 cell index.resolution:INT64number between 0 and 15 with the H3 resolution.
Return type
STRING
Example
SELECT `carto-un`.carto.H3_TOPARENT('84390cbffffffff', 3);
-- 83390cfffffffffSELECT `carto-un-eu`.carto.H3_TOPARENT('84390cbffffffff', 3);
-- 83390cfffffffffSELECT carto.H3_TOPARENT('84390cbffffffff', 3);
-- 83390cfffffffffH3_UNCOMPACT
H3_UNCOMPACT(indexArray, resolution)Description
Returns an array with the H3 indexes of a set of hexagons of the same resolution that represent the same area as the compacted input hexagons.
indexArray:ARRAY<STRING>of H3 cell indices.resolution:INT64number between 0 and 15 with the H3 resolution.
Return type
ARRAY<STRING>
Example
SELECT `carto-un`.carto.H3_UNCOMPACT(['83390cfffffffff'], 5);
-- 85390ca3fffffff
-- 85390ca7fffffff
-- 85390cabfffffff
-- 85390caffffffff
-- 85390cb3fffffff
-- 85390cb7fffffff
-- 85390cbbfffffffSELECT `carto-un-eu`.carto.H3_UNCOMPACT(['83390cfffffffff'], 5);
-- 85390ca3fffffff
-- 85390ca7fffffff
-- 85390cabfffffff
-- 85390caffffffff
-- 85390cb3fffffff
-- 85390cb7fffffff
-- 85390cbbfffffffSELECT carto.H3_UNCOMPACT(['83390cfffffffff'], 5);
-- 85390ca3fffffff
-- 85390ca7fffffff
-- 85390cabfffffff
-- 85390caffffffff
-- 85390cb3fffffff
-- 85390cb7fffffff
-- 85390cbbfffffff
This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 960401.
Last updated
Was this helpful?
