Passer au contenu principal

H3 Index

H3 est un système d’indexation géographique dans lequel la surface de la Terre est divisée en une grille régulière de cellules hexagonales. Ce système est hiérarchique, c’est-à-dire que chaque hexagone du niveau supérieur (« parent ») peut être subdivisé en sept hexagones réguliers plus petits (« enfants »), et ainsi de suite. Le niveau de la hiérarchie est appelé resolution et peut prendre une valeur de 0 à 15, où 0 correspond au niveau base, avec les cellules les plus grandes et les moins fines. Une paire latitude/longitude peut être convertie en un index H3 de 64 bits, qui identifie une cellule de la grille. L’index H3 est principalement utilisé pour regrouper des lieux et pour d’autres manipulations géospatiales. Une description complète du système H3 est disponible sur le site d’Uber Engineering.

h3IsValid

Vérifie si le nombre correspond à un index H3 valide. Syntaxe
h3IsValid(h3index)
Paramètre
  • h3index — Numéro d’index hexagonal. UInt64.
Valeurs de retour
  • 1 — Le nombre correspond à un index H3 valide. UInt8.
  • 0 — Le nombre ne correspond pas à un index H3 valide. UInt8.
Exemple
Query
SELECT h3IsValid(630814730351855103) AS h3IsValid;
Response
┌─h3IsValid─┐
│         1 │
└───────────┘

h3GetResolution

Définit la résolution de l’index H3 donné. Syntaxe
h3GetResolution(h3index)
Paramètre
  • h3index — Numéro d’index hexagonal. UInt64.
Valeurs renvoyées
  • Résolution de l’index. Plage : [0, 15]. UInt8.
  • Si l’index n’est pas valide, la fonction renvoie une valeur aléatoire. Utilisez h3IsValid pour vérifier l’index. UInt8.
Exemple
Query
SELECT h3GetResolution(639821929606596015) AS resolution;
Response
┌─resolution─┐
│         14 │
└────────────┘

h3EdgeAngle

Calcule la longueur moyenne d’un arête d’un hexagone H3 en grades. Syntaxe
h3EdgeAngle(resolution)
Paramètre
  • resolution — Résolution de l’index. UInt8. Plage : [0, 15].
Valeurs renvoyées
  • La longueur moyenne de l’arête d’un hexagone H3, exprimée en grades. Float64.
Exemple
Query
SELECT h3EdgeAngle(10) AS edgeAngle;
Response
┌───────h3EdgeAngle(10)─┐
│ 0.0005927224846720883 │
└───────────────────────┘

h3EdgeLengthM

Calcule la longueur moyenne d’une arête d’un hexagone H3, en mètres. Syntaxe
h3EdgeLengthM(resolution)
Paramètre
  • resolution — Résolution de l’index. UInt8. Plage : [0, 15].
Valeurs renvoyées
  • La longueur moyenne d’une arête d’un hexagone H3, en mètres. Float64.
Exemple
Query
SELECT h3EdgeLengthM(15) AS edgeLengthM;
Response
┌─edgeLengthM─┐
│ 0.509713273 │
└─────────────┘

h3EdgeLengthKm

Calcule la longueur moyenne d’une arête d’un hexagone H3, en kilomètres. Syntaxe
h3EdgeLengthKm(resolution)
Paramètre
  • resolution — Résolution de l’index. UInt8. Valeurs possibles : [0, 15].
Valeurs renvoyées
  • La longueur moyenne d’une arête d’un hexagone H3, en kilomètres. Float64.
Exemple
Query
SELECT h3EdgeLengthKm(15) AS edgeLengthKm;
Response
┌─edgeLengthKm─┐
│  0.000509713 │
└──────────────┘

geoToH3

Renvoie l’index H3 du point (lat, lon) à la résolution spécifiée. Syntaxe
geoToH3(lat, lon, resolution)
Arguments
  • lat — Latitude. Float64.
  • lon — Longitude. Float64.
  • resolution — Résolution de l’index. Plage : [0, 15]. UInt8.
Valeurs renvoyées
  • Numéro d’index hexagonal. UInt64.
  • 0 en cas d’erreur. UInt64.
Remarque : dans ClickHouse v25.4 ou une version antérieure, geoToH3() attend les valeurs dans l’ordre (lon, lat). À partir de ClickHouse v25.5, les valeurs d’entrée sont dans l’ordre (lat, lon). Le comportement précédent peut être rétabli à l’aide du paramètre geotoh3_argument_order = 'lon_lat'. Exemple
Query
SELECT geoToH3(55.71290588, 37.79506683, 15) AS h3Index;
Response
┌────────────h3Index─┐
│ 644325524701193974 │
└────────────────────┘

h3ToGeo

Renvoie la latitude et la longitude du centroïde correspondant à l’index H3 indiqué. Syntaxe
h3ToGeo(h3Index)
Arguments
  • h3Index — index H3. UInt64.
Valeurs renvoyées
  • Un tuple composé de deux valeurs : tuple(lat,lon). lat — Latitude. Float64. lon — Longitude. Float64.
Remarque : dans ClickHouse v24.12 et les versions antérieures, h3ToGeo() renvoie les valeurs dans l’ordre (lon, lat). À partir de ClickHouse v25.1, les valeurs renvoyées sont dans l’ordre (lat, lon). Le comportement précédent peut être restauré à l’aide du paramètre h3togeo_lon_lat_result_order = true. Exemple
Query
SELECT h3ToGeo(644325524701193974) AS coordinates;
Response
┌─coordinates───────────────────────────┐
│ (55.71290243145668,37.79506616830252) │
└───────────────────────────────────────┘

h3ToGeoBoundary

Renvoie un Array de paires (lat, lon) représentant le contour de l’index H3 fourni. Syntaxe
h3ToGeoBoundary(h3Index)
Arguments
  • h3Index — index H3. UInt64.
Valeurs renvoyées Exemple
Query
SELECT h3ToGeoBoundary(644325524701193974) AS coordinates;
Response
┌─h3ToGeoBoundary(599686042433355775)────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ [(37.2713558667319,-121.91508032705622),(37.353926450852256,-121.8622232890249),(37.42834118609435,-121.92354999630156),(37.42012867767779,-122.03773496427027),(37.33755608435299,-122.090428929044),(37.26319797461824,-122.02910130919001)] │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

h3kRing

Liste tous les hexagones H3 situés dans un rayon de k autour de l’hexagone donné, dans un ordre aléatoire. Syntaxe
h3kRing(h3index, k)
Arguments
  • h3index — Numéro d’index hexagonal. UInt64.
  • k — Rayon. entier
Valeurs renvoyées Exemple
Query
SELECT arrayJoin(h3kRing(644325529233966508, 1)) AS h3index;
Response
┌────────────h3index─┐
│ 644325529233966508 │
│ 644325529233966497 │
│ 644325529233966510 │
│ 644325529233966504 │
│ 644325529233966509 │
│ 644325529233966355 │
│ 644325529233966354 │
└────────────────────┘

h3PolygonToCells

Renvoie les hexagones (à la résolution spécifiée) compris dans la géométrie fournie, qu’il s’agisse d’un Ring ou d’un (multi-)Polygon. Syntaxe
h3PolygonToCells(geometry, resolution)
Arguments Valeurs renvoyées Exemple
Query
SELECT h3PolygonToCells([(-122.4089866999972145,37.813318999983238),(-122.3544736999993603,37.7198061999978478),(-122.4798767000009008,37.8151571999998453)], 7) AS h3index;
Response
┌────────────h3index─┐
│ 608692970769612799 │
│ 608692971927240703 │
│ 608692970585063423 │
│ 608692970819944447 │
│ 608692970719281151 │
│ 608692970752835583 │
│ 608692972027903999 │
└────────────────────┘

h3PolygonToCellsWithContainment

Renvoie les hexagones (à la résolution spécifiée) qui recouvrent la géométrie fournie — un ring ou un (multi-)polygon — en utilisant les modes de containment expérimentaux de H3. Cette fonction associe les flags aux modes de containment H3 :
  • 0CONTAINMENT_CENTER
  • 1CONTAINMENT_FULL
  • 2CONTAINMENT_OVERLAPPING
  • 3CONTAINMENT_OVERLAPPING_BBOX
Syntaxe
h3PolygonToCellsWithContainment(geometry, resolution, flags)
Arguments
  • geometry peut être l’un des types de données Geo suivants, ou l’un de leurs types primitifs sous-jacents :
  • resolution — Résolution de l’index. Plage : [0, 15]. UInt8.
  • flags — Mode de containment. Plage : [0, 3]. Utilisez des littéraux entiers tels que 0, 1, 2 et 3, ou des valeurs UInt32 (par exemple, toUInt32(2)). Les valeurs sont transmises à l’API H3 sous forme de UInt32. Les autres types entiers natifs sont convertis avec exactitude.
Valeurs renvoyées
  • Tableau d’index H3 selon le mode de containment sélectionné. Array(UInt64).
Exemple
Query
SELECT
    h3PolygonToCellsWithContainment([(-122.4089866999972145, 37.813318999983238), (-122.3544736999993603, 37.7198061999978478), (-122.4798767000009008, 37.8151571999998453)], 7, 0) AS center_cells,
    h3PolygonToCellsWithContainment([(-122.4089866999972145, 37.813318999983238), (-122.3544736999993603, 37.7198061999978478), (-122.4798767000009008, 37.8151571999998453)], 7, 2) AS overlap_cells;
Response
   ┌─center_cells───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬─overlap_cells──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
1. │ [608692970585063423,608692970719281151,608692970752835583,608692970769612799,608692970819944447,608692971927240703,608692972027903999] │ [608692970249519103,608692970266296319,608692970585063423,608692970601840639,608692970635395071,608692970685726719,608692970719281151,608692970736058367,608692970752835583,608692970769612799,608692970786390015,608692970819944447,608692971927240703,608692971994349567,608692972027903999] │
   └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

h3GetBaseCell

Renvoie le numéro de la cellule de base de l’index H3. Syntaxe
h3GetBaseCell(index)
Paramètre
  • index — Numéro d’index hexagonal. UInt64.
Valeur renvoyée
  • Numéro de cellule de base de l’hexagone. UInt8.
Exemple
Query
SELECT h3GetBaseCell(612916788725809151) AS basecell;
Response
┌─basecell─┐
│       12 │
└──────────┘

h3HexAreaM2

Renvoie la surface moyenne d’un hexagone en mètres carrés pour la résolution donnée. Syntaxe
h3HexAreaM2(resolution)
Paramètre
  • resolution — Résolution de l’index. Plage : [0, 15]. UInt8.
Valeur renvoyée
  • Superficie en mètres carrés. Float64.
Exemple
Query
SELECT h3HexAreaM2(13) AS area;
Response
┌─area─┐
│ 43.9 │
└──────┘

h3HexAreaKm2

Renvoie la superficie moyenne d’un hexagone, en kilomètres carrés, pour la résolution donnée. Syntaxe
h3HexAreaKm2(resolution)
Paramètre
  • resolution — Résolution de l’index. Plage : [0, 15]. UInt8.
Valeur renvoyée
  • Surface en kilomètres carrés. Float64.
Exemple
Query
SELECT h3HexAreaKm2(13) AS area;
Response
┌──────area─┐
│ 0.0000439 │
└───────────┘

h3IndexesAreNeighbors

Indique si les index H3 spécifiés sont voisins. Syntaxe
h3IndexesAreNeighbors(index1, index2)
Arguments
  • index1 — Numéro d’index hexagonal. UInt64.
  • index2 — Numéro d’index hexagonal. UInt64.
Valeur renvoyée
  • 1 — Les indices sont voisins. UInt8.
  • 0 — Les indices ne sont pas voisins. UInt8.
Exemple
Query
SELECT h3IndexesAreNeighbors(617420388351344639, 617420388352655359) AS n;
Response
┌─n─┐
│ 1 │
└───┘

h3ToChildren

Renvoie un tableau des index enfants pour l’index H3 donné. Syntaxe
h3ToChildren(index, resolution)
Arguments
  • index — numéro d’index hexagonal. UInt64.
  • resolution — Résolution de l’index. Plage : [0, 15]. UInt8.
Valeurs renvoyées Exemple
Query
SELECT h3ToChildren(599405990164561919, 6) AS children;
Response
┌─children───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ [603909588852408319,603909588986626047,603909589120843775,603909589255061503,603909589389279231,603909589523496959,603909589657714687] │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

h3ToParent

Renvoie l’index parent (de résolution inférieure) qui contient l’index H3 donné. Syntaxe
h3ToParent(index, resolution)
Arguments
  • index — numéro d’index hexagonal. UInt64.
  • resolution — Résolution de l’index. Plage : [0, 15]. UInt8.
Valeur renvoyée Exemple
Query
SELECT h3ToParent(599405990164561919, 3) AS parent;
Response
┌─────────────parent─┐
│ 590398848891879423 │
└────────────────────┘

h3ToString

Convertit la représentation H3Index de l’index en représentation textuelle.
h3ToString(index)
Paramètre
  • index — numéro d’index hexagonal. UInt64.
Valeur renvoyée
  • Représentation sous forme de chaîne de l’index H3. String.
Exemple
Query
SELECT h3ToString(617420388352917503) AS h3_string;
Response
┌─h3_string───────┐
│ 89184926cdbffff │
└─────────────────┘

stringToH3

Convertit la représentation textuelle en représentation H3Index (UInt64). Syntaxe
stringToH3(index_str)
Paramètre
  • index_str — Représentation textuelle de l’index H3. String.
Valeur renvoyée
  • numéro d’index hexagonal. Renvoie 0 en cas d’erreur. UInt64.
Exemple
Query
SELECT stringToH3('89184926cc3ffff') AS index;
Response
┌──────────────index─┐
│ 617420388351344639 │
└────────────────────┘

h3GetResolution

Renvoie la résolution de l’index H3. Syntaxe
h3GetResolution(index)
Paramètre
  • index — Numéro d’index hexagonal. UInt64.
Valeur de retour
  • Résolution de l’index. Plage : [0, 15]. UInt8.
Exemple
Query
SELECT h3GetResolution(617420388352917503) AS res;
Response
┌─res─┐
│   9 │
└─────┘

h3IsResClassIII

Indique si l’index H3 a une résolution d’orientation de classe III. Syntaxe
h3IsResClassIII(index)
Paramètre
  • index — numéro d’index hexagonal. UInt64.
Valeur renvoyée
  • 1 — L’index correspond à une résolution d’orientation de classe III. UInt8.
  • 0 — L’index ne correspond pas à une résolution d’orientation de classe III. UInt8.
Exemple
Query
SELECT h3IsResClassIII(617420388352917503) AS res;
Response
┌─res─┐
│   1 │
└─────┘

h3IsPentagon

Indique si cet index H3 représente une cellule pentagonale. Syntaxe
h3IsPentagon(index)
Paramètre
  • index — Numéro d’index hexagonal. UInt64.
Valeur renvoyée
  • 1 — L’index représente une cellule pentagonale. UInt8.
  • 0 — L’index ne représente pas une cellule pentagonale. UInt8.
Exemple
Query
SELECT h3IsPentagon(644721767722457330) AS pentagon;
Response
┌─pentagon─┐
│        0 │
└──────────┘

h3GetFaces

Renvoie les faces de l’icosaèdre qu’un index H3 donné intersecte. Syntaxe
h3GetFaces(index)
Paramètre
  • index — Numéro d’index de l’hexagone. UInt64.
valeur renvoyée
  • Array contenant les faces de l’icosaèdre que recoupe l’index H3 donné. Array(UInt64).
Exemple
Query
SELECT h3GetFaces(599686042433355775) AS faces;
Response
┌─faces─┐
│ [7]   │
└───────┘

h3CellAreaM2

Renvoie la superficie exacte, en mètres carrés, d’une cellule spécifique pour l’index H3 fourni en entrée. Syntaxe
h3CellAreaM2(index)
Paramètre
  • index — Numéro d’index de l’hexagone. UInt64.
Valeur renvoyée
  • Aire de la cellule en mètres carrés. Float64.
Exemple
Query
SELECT h3CellAreaM2(579205133326352383) AS area;
Response
┌───────────────area─┐
│ 4106166334463.9233 │
└────────────────────┘

h3CellAreaRads2

Renvoie l’aire exacte, en radians carrés, d’une cellule spécifique correspondant à l’index H3 fourni en entrée. Syntaxe
h3CellAreaRads2(index)
Paramètre
  • index — Numéro d’index de l’hexagone. UInt64.
Valeur renvoyée
  • Aire de la cellule en radians carrés. Float64.
Exemple
Query
SELECT h3CellAreaRads2(579205133326352383) AS area;
Response
┌────────────────area─┐
│ 0.10116268528089567 │
└─────────────────────┘

h3ToCenterChild

Renvoie l’index H3 enfant central (plus fin) contenu dans l’index H3 donné, à la résolution spécifiée. Syntaxe
h3ToCenterChild(index, resolution)
Paramètre
  • index — Numéro d’index de l’hexagone. UInt64.
  • resolution — Résolution de l’index. Plage : [0, 15]. UInt8.
Valeurs renvoyées
  • Index H3 de la cellule enfant centrale contenue dans l’H3 donné, à la résolution indiquée. UInt64.
Exemple
Query
SELECT h3ToCenterChild(577023702256844799,1) AS centerToChild;
Response
┌──────centerToChild─┐
│ 581496515558637567 │
└────────────────────┘

h3ExactEdgeLengthM

Renvoie la longueur exacte, en mètres, de l’arête unidirectionnelle représentée par l’index H3 d’entrée. Syntaxe
h3ExactEdgeLengthM(index)
Paramètre
  • index — Numéro d’index de l’hexagone. UInt64.
Valeur renvoyée
  • Longueur exacte de l’arête, en mètres. Float64.
Exemple
Query
SELECT h3ExactEdgeLengthM(1310277011704381439) AS exactEdgeLengthM;;
Response
┌───exactEdgeLengthM─┐
│ 195449.63163407316 │
└────────────────────┘

h3ExactEdgeLengthKm

Renvoie la longueur exacte, en kilomètres, de l’arête unidirectionnelle représentée par l’index H3 fourni en entrée. Syntaxe
h3ExactEdgeLengthKm(index)
Paramètre
  • index — Numéro d’index de l’hexagone. UInt64.
Valeur renvoyée
  • Longueur exacte de l’arête en kilomètres. Float64.
Exemple
Query
SELECT h3ExactEdgeLengthKm(1310277011704381439) AS exactEdgeLengthKm;;
Response
┌──exactEdgeLengthKm─┐
│ 195.44963163407317 │
└────────────────────┘

h3ExactEdgeLengthRads

Renvoie la longueur exacte de l’arête unidirectionnelle représentée par l’index H3 d’entrée, en radians. Syntaxe
h3ExactEdgeLengthRads(index)
Paramètre
  • index — Numéro d’index de l’hexagone. UInt64.
Valeur renvoyée
  • Longueur exacte de l’arête, en radians. Float64.
Exemple
Query
SELECT h3ExactEdgeLengthRads(1310277011704381439) AS exactEdgeLengthRads;;
Response
┌──exactEdgeLengthRads─┐
│ 0.030677980118976447 │
└──────────────────────┘

h3NumHexagons

Renvoie le nombre d’indices H3 uniques pour la résolution donnée. Syntaxe
h3NumHexagons(resolution)
Paramètre
  • resolution — Résolution de l’index. Plage : [0, 15]. UInt8.
Valeur renvoyée
  • Nombre d’indices H3. Int64.
Exemple
Query
SELECT h3NumHexagons(3) AS numHexagons;
Response
┌─numHexagons─┐
│       41162 │
└─────────────┘

h3PointDistM

Renvoie la distance en mètres selon le « grand cercle » ou la formule « haversine » entre des paires de points GeoCoord (latitude/longitude). Syntaxe
h3PointDistM(lat1, lon1, lat2, lon2)
Arguments
  • lat1, lon1 — Latitude et longitude du point 1 en degrés. Float64.
  • lat2, lon2 — Latitude et longitude du point 2 en degrés. Float64.
Valeurs renvoyées
  • Distance de Haversine, ou distance orthodromique, en mètres.Float64.
Exemple
Query
SELECT h3PointDistM(-10.0 ,0.0, 10.0, 0.0) AS h3PointDistM;
Response
┌──────h3PointDistM─┐
│ 2223901.039504589 │
└───────────────────┘

h3PointDistKm

Renvoie la distance « grand cercle » ou « haversine » entre des paires de points GeoCoord (latitude/longitude), exprimée en kilomètres. Syntaxe
h3PointDistKm(lat1, lon1, lat2, lon2)
Arguments
  • lat1, lon1 — Latitude et longitude du point1, en degrés. Float64.
  • lat2, lon2 — Latitude et longitude du point2, en degrés. Float64.
Valeurs renvoyées
  • Distance de Haversine ou orthodromique, en kilomètres. Float64.
Exemple
Query
SELECT h3PointDistKm(-10.0 ,0.0, 10.0, 0.0) AS h3PointDistKm;
Response
┌─────h3PointDistKm─┐
│ 2223.901039504589 │
└───────────────────┘

h3PointDistRads

Renvoie la distance « grand cercle » ou « haversine », en radians, entre des paires de points GeoCoord (latitude/longitude). Syntaxe
h3PointDistRads(lat1, lon1, lat2, lon2)
Arguments
  • lat1, lon1 — Latitude et longitude du point 1 en degrés. Float64.
  • lat2, lon2 — Latitude et longitude du point 2 en degrés. Float64.
Valeurs renvoyées
  • Distance de Haversine ou distance orthodromique, en radians. Float64.
Exemple
Query
SELECT h3PointDistRads(-10.0 ,0.0, 10.0, 0.0) AS h3PointDistRads;
Response
┌────h3PointDistRads─┐
│ 0.3490658503988659 │
└────────────────────┘

h3GetRes0Indexes

Renvoie un tableau de tous les index H3 de résolution 0. Syntaxe
h3GetRes0Indexes()
Valeurs renvoyées
  • Tableau de tous les index H3 de résolution 0. Array(UInt64).
Exemple
Query
SELECT h3GetRes0Indexes AS indexes ;
Response
┌─indexes─────────────────────────────────────┐
│ [576495936675512319,576531121047601151,....]│
└─────────────────────────────────────────────┘

h3GetPentagonIndexes

Renvoie tous les index H3 en forme de pentagone à la résolution spécifiée. Syntaxe
h3GetPentagonIndexes(resolution)
Paramètre
  • resolution — Résolution de l’index. Plage : [0, 15]. UInt8.
Valeur renvoyée
  • Tableau de tous les index H3 pentagonaux. Array(UInt64).
Exemple
Query
SELECT h3GetPentagonIndexes(3) AS indexes;
Response
┌─indexes────────────────────────────────────────────────────────┐
│ [590112357393367039,590464201114255359,590816044835143679,...] │
└────────────────────────────────────────────────────────────────┘

h3Line

Renvoie la ligne d’indices reliant les deux indices fournis. Syntaxe
h3Line(start,end)
Paramètre
  • start — Numéro d’index de l’hexagone représentant un point de départ. UInt64.
  • end — Numéro d’index de l’hexagone représentant un point d’arrivée. UInt64.
Valeur renvoyée Array d’index H3 représentant la suite d’index entre les deux index fournis. Array(UInt64). Exemple
Query
 SELECT h3Line(590080540275638271,590103561300344831) AS indexes;
Response
┌─indexes────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ [590080540275638271,590080471556161535,590080883873021951,590106516237844479,590104385934065663,590103630019821567,590103561300344831] │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

h3Distance

Renvoie la distance, en cellules de grille, entre les deux indices fournis. Syntaxe
h3Distance(start,end)
Paramètre
  • start — Numéro d’index de l’hexagone représentant un point de départ. UInt64.
  • end — Numéro d’index de l’hexagone représentant un point d’arrivée. UInt64.
Valeur renvoyée
  • Nombre de cellules de la grille. Int64.
Renvoie un nombre négatif si le calcul de la distance échoue. Exemple
Query
 SELECT h3Distance(590080540275638271,590103561300344831) AS distance;
Response
┌─distance─┐
│        7 │
└──────────┘

h3HexRing

Renvoie les indices de l’anneau hexagonal centré sur l’h3Index d’origine fourni, de longueur k. Renvoie 0 si aucune distorsion pentagonale n’a été détectée. Syntaxe
h3HexRing(index, k)
Paramètre
  • index — Numéro d’index de l’hexagone représentant l’origine. UInt64.
  • k — Distance. UInt64.
Valeurs renvoyées Exemple
Query
 SELECT h3HexRing(590080540275638271, toUInt16(1)) AS hexRing;
Response
┌─hexRing─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ [590080815153545215,590080471556161535,590080677714591743,590077585338138623,590077447899185151,590079509483487231] │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

h3GetUnidirectionalEdge

Renvoie l’index H3 d’une arête unidirectionnelle à partir de l’origine et de la destination fournies, ou 0 en cas d’erreur. Syntaxe
h3GetUnidirectionalEdge(originIndex, destinationIndex)
Paramètres
  • originIndex — Numéro d’index de l’hexagone d’origine. UInt64.
  • destinationIndex — Numéro d’index de l’hexagone de destination. UInt64.
valeur renvoyée
  • Numéro d’index d’arête hexagonale unidirectionnelle. UInt64.
Exemple
Query
 SELECT h3GetUnidirectionalEdge(599686042433355775, 599686043507097599) AS edge;
Response
┌────────────────edge─┐
│ 1248204388774707199 │
└─────────────────────┘

h3UnidirectionalEdgeIsValid

Détermine si le H3Index fourni correspond à une arête unidirectionnelle valide. Renvoie 1 s’il s’agit d’une arête unidirectionnelle, et 0 sinon. Syntaxe
h3UnidirectionalEdgeisValid(index)
Paramètre
  • index — Numéro d’index de l’hexagone. UInt64.
Valeur renvoyée
  • 1 — L’index H3 est une arête unidirectionnelle valide. UInt8.
  • 0 — L’index H3 n’est pas une arête unidirectionnelle valide. UInt8.
Exemple
Query
 SELECT h3UnidirectionalEdgeIsValid(1248204388774707199) AS validOrNot;
Response
┌─validOrNot─┐
│          1 │
└────────────┘

h3GetOriginIndexFromUnidirectionalEdge

Renvoie l’index de l’hexagone d’origine à partir de l’arête unidirectionnelle H3Index. Syntaxe
h3GetOriginIndexFromUnidirectionalEdge(edge)
Paramètre
  • edge — Numéro d’index de l’hexagone représentant une arête unidirectionnelle. UInt64.
valeur renvoyée
  • Numéro d’index de l’hexagone d’origine. UInt64.
Exemple
Query
 SELECT h3GetOriginIndexFromUnidirectionalEdge(1248204388774707197) AS origin;
Response
┌─────────────origin─┐
│ 599686042433355773 │
└────────────────────┘

h3GetDestinationIndexFromUnidirectionalEdge

Renvoie l’index du hexagone de destination à partir de l’arête unidirectionnelle H3Index. Syntaxe
h3GetDestinationIndexFromUnidirectionalEdge(edge)
Paramètre
  • edge — Numéro d’index d’hexagone représentant une arête unidirectionnelle. UInt64.
Valeur renvoyée
  • Numéro d’index de l’hexagone de destination. UInt64.
Exemple
Query
 SELECT h3GetDestinationIndexFromUnidirectionalEdge(1248204388774707197) AS destination;
Response
┌────────destination─┐
│ 599686043507097597 │
└────────────────────┘

h3GetIndexesFromUnidirectionalEdge

Renvoie les index H3 des hexagones d’origine et de destination à partir de l’arête unidirectionnelle H3Index donnée. Syntaxe
h3GetIndexesFromUnidirectionalEdge(edge)
Paramètre
  • edge — Numéro d’index d’hexagone représentant une arête unidirectionnelle. UInt64.
Valeur renvoyée Un tuple composé de deux valeurs tuple(origin,destination) :
  • origin — numéro d’index de l’hexagone d’origine. UInt64.
  • destination — numéro d’index de l’hexagone de destination. UInt64.
Renvoyer (0,0) si l’entrée fournie n’est pas valide. Exemple
Query
 SELECT h3GetIndexesFromUnidirectionalEdge(1248204388774707199) AS indexes;
Response
┌─indexes─────────────────────────────────┐
│ (599686042433355775,599686043507097599) │
└─────────────────────────────────────────┘

h3GetUnidirectionalEdgesFromHexagon

Renvoie toutes les arêtes unidirectionnelles de l’H3Index fourni. Syntaxe
h3GetUnidirectionalEdgesFromHexagon(index)
Paramètre
  • index — Numéro d’index de l’hexagone représentant une arête unidirectionnelle. UInt64.
Valeur renvoyée Array d’index H3 représentant chaque arête unidirectionnelle. Array(UInt64). Exemple
Query
 SELECT h3GetUnidirectionalEdgesFromHexagon(1248204388774707199) AS edges;
Response
┌─edges─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ [1248204388774707199,1320261982812635135,1392319576850563071,1464377170888491007,1536434764926418943,1608492358964346879] │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

h3GetUnidirectionalEdgeBoundary

Renvoie les coordonnées qui définissent l’arête unidirectionnelle. Syntaxe
h3GetUnidirectionalEdgeBoundary(index)
Paramètre
  • index — Numéro d’index de l’hexagone représentant une arête unidirectionnelle. UInt64.
Valeur renvoyée Exemple
Query
 SELECT h3GetUnidirectionalEdgeBoundary(1248204388774707199) AS boundary;
Response
┌─boundary────────────────────────────────────────────────────────────────────────┐
│ [(37.42012867767779,-122.03773496427027),(37.33755608435299,-122.090428929044)] │
└─────────────────────────────────────────────────────────────────────────────────┘
Dernière modification le 29 juin 2026