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
SELECT h3IsValid(630814730351855103) AS h3IsValid;┌─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
SELECT h3GetResolution(639821929606596015) AS resolution;┌─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
Exemple
SELECT h3EdgeAngle(10) AS edgeAngle;┌───────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
Exemple
SELECT h3EdgeLengthM(15) AS edgeLengthM;┌─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
Exemple
SELECT h3EdgeLengthKm(15) AS edgeLengthKm;┌─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
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
SELECT geoToH3(55.71290588, 37.79506683, 15) AS h3Index;┌────────────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
SELECT h3ToGeo(644325524701193974) AS coordinates;┌─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
SELECT h3ToGeoBoundary(644325524701193974) AS coordinates;┌─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
Valeurs renvoyées
Exemple
SELECT arrayJoin(h3kRing(644325529233966508, 1)) AS h3index;┌────────────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
geometrypeut être l’un des Geo Data Types suivants ou l’un de leurs types primitifs sous-jacents :resolution— Résolution de l’index. Plage :[0, 15]. UInt8.
Valeurs renvoyées
Exemple
SELECT h3PolygonToCells([(-122.4089866999972145,37.813318999983238),(-122.3544736999993603,37.7198061999978478),(-122.4798767000009008,37.8151571999998453)], 7) AS h3index;┌────────────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 :
0—CONTAINMENT_CENTER1—CONTAINMENT_FULL2—CONTAINMENT_OVERLAPPING3—CONTAINMENT_OVERLAPPING_BBOX
Syntaxe
h3PolygonToCellsWithContainment(geometry, resolution, flags)Arguments
geometrypeut ê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 que0,1,2et3, ou des valeurs UInt32 (par exemple,toUInt32(2)). Les valeurs sont transmises à l’API H3 sous forme deUInt32. Les autres types entiers natifs sont convertis avec exactitude.
Valeurs renvoyées
Exemple
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; ┌─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
SELECT h3GetBaseCell(612916788725809151) AS basecell;┌─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
SELECT h3HexAreaM2(13) AS area;┌─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
SELECT h3HexAreaKm2(13) AS area;┌──────area─┐
│ 0.0000439 │
└───────────┘h3IndexesAreNeighbors
Indique si les index H3 spécifiés sont voisins.
Syntaxe
h3IndexesAreNeighbors(index1, index2)Arguments
Valeur renvoyée
Exemple
SELECT h3IndexesAreNeighbors(617420388351344639, 617420388352655359) AS n;┌─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
SELECT h3ToChildren(599405990164561919, 6) AS children;┌─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
- Index H3 du parent. UInt64.
Exemple
SELECT h3ToParent(599405990164561919, 3) AS parent;┌─────────────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
SELECT h3ToString(617420388352917503) AS h3_string;┌─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
SELECT stringToH3('89184926cc3ffff') AS index;┌──────────────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
SELECT h3GetResolution(617420388352917503) AS res;┌─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
SELECT h3IsResClassIII(617420388352917503) AS res;┌─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
SELECT h3IsPentagon(644721767722457330) AS pentagon;┌─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
Exemple
SELECT h3GetFaces(599686042433355775) AS faces;┌─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
SELECT h3CellAreaM2(579205133326352383) AS area;┌───────────────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
SELECT h3CellAreaRads2(579205133326352383) AS area;┌────────────────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
Exemple
SELECT h3ToCenterChild(577023702256844799,1) AS centerToChild;┌──────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
SELECT round(h3ExactEdgeLengthM(1310277011704381439), 6) AS exactEdgeLengthM;┌─exactEdgeLengthM─┐
│ 195449.631634 │
└──────────────────┘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
SELECT round(h3ExactEdgeLengthKm(1310277011704381439), 8) AS exactEdgeLengthKm;┌─exactEdgeLengthKm─┐
│ 195.44963163 │
└───────────────────┘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
SELECT round(h3ExactEdgeLengthRads(1310277011704381439), 12) AS exactEdgeLengthRads;┌─exactEdgeLengthRads─┐
│ 0.030677980119 │
└─────────────────────┘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
SELECT h3NumHexagons(3) AS numHexagons;┌─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
SELECT h3PointDistM(-10.0 ,0.0, 10.0, 0.0) AS h3PointDistM;┌───────h3PointDistM─┐
│ 2223901.0395045886 │
└────────────────────┘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
SELECT h3PointDistKm(-10.0 ,0.0, 10.0, 0.0) AS h3PointDistKm;┌──────h3PointDistKm─┐
│ 2223.9010395045884 │
└────────────────────┘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
SELECT h3PointDistRads(-10.0 ,0.0, 10.0, 0.0) AS h3PointDistRads;┌────h3PointDistRads─┐
│ 0.3490658503988659 │
└────────────────────┘h3GetRes0Indexes
Renvoie un tableau de tous les index H3 de résolution 0.
Syntaxe
h3GetRes0Indexes()Valeurs renvoyées
Exemple
SELECT h3GetRes0Indexes AS indexes ;┌─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
Exemple
SELECT h3GetPentagonIndexes(3) AS indexes;┌─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
SELECT h3Line(590080540275638271,590103561300344831) AS indexes;┌─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
SELECT h3Distance(590080540275638271,590103561300344831) AS distance;┌─distance─┐
│ 6 │
└──────────┘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
Valeurs renvoyées
Exemple
SELECT h3HexRing(590080540275638271, toUInt16(1)) AS hexRing;┌─hexRing─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ [590080815153545215,590080471556161535,590080677714591743,590077585338138623,590077447899185151,590079509483487231] │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘h3GetUnidirectionalEdge
Renvoie un index H3 d’arête unidirectionnelle pour deux index de cellules H3 adjacentes (origine et destination). Lève une exception si l’une des entrées n’est pas une cellule H3 valide (ce comportement est contrôlé par le paramètre functions_h3_default_if_invalid). Pour des cellules valides qui ne sont pas voisines (y compris la même cellule deux fois), renvoie 0.
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
SELECT h3GetUnidirectionalEdge(599686042433355775, 599686043507097599) AS edge;┌────────────────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
SELECT h3UnidirectionalEdgeIsValid(1248204388774707199) AS validOrNot;┌─validOrNot─┐
│ 1 │
└────────────┘h3GetOriginIndexFromUnidirectionalEdge
Renvoie l’index de l’hexagone d’origine à partir de l’arête unidirectionnelle H3Index. Lève une exception si l’entrée n’est pas une arête dirigée valide (contrôlé par le paramètre functions_h3_default_if_invalid) ; renvoie 0 uniquement lorsque ce paramètre est activé.
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.
- Lève
INCORRECT_DATApour les arêtes dirigées non valides par défaut ; renvoie0lorsquefunctions_h3_default_if_invalid = 1.
Exemple
SELECT h3GetOriginIndexFromUnidirectionalEdge(1248204388774707199) AS origin;┌─────────────origin─┐
│ 599686042433355775 │
└────────────────────┘h3GetDestinationIndexFromUnidirectionalEdge
Renvoie l’index du hexagone de destination à partir de l’arête unidirectionnelle H3Index. Lève une exception si l’entrée n’est pas une arête dirigée valide (contrôlé par le paramètre functions_h3_default_if_invalid) ; renvoie 0 uniquement lorsque ce paramètre est activé.
Syntaxe
h3GetDestinationIndexFromUnidirectionalEdge(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 de destination. UInt64.
- Lève
INCORRECT_DATApour les arêtes dirigées non valides par défaut ; renvoie0lorsquefunctions_h3_default_if_invalid = 1.
Exemple
SELECT h3GetDestinationIndexFromUnidirectionalEdge(1248204388774707199) AS destination;┌────────destination─┐
│ 599686043507097599 │
└────────────────────┘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 de l’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.
Lève une exception si l’entrée fournie n’est pas une arête dirigée valide (contrôlé par le paramètre functions_h3_default_if_invalid) ; renvoie (0,0) uniquement lorsque ce paramètre est activé.
Exemple
SELECT h3GetIndexesFromUnidirectionalEdge(1248204388774707199) AS indexes;┌─indexes─────────────────────────────────┐
│ (599686042433355775,599686043507097599) │
└─────────────────────────────────────────┘h3GetUnidirectionalEdgesFromHexagon
Renvoie toutes les arêtes unidirectionnelles de l’H3Index fourni. Lève une exception si l’entrée n’est pas une cellule H3 valide (selon le paramètre functions_h3_default_if_invalid) ; renvoie un tableau vide uniquement lorsque ce paramètre est activé.
Syntaxe
h3GetUnidirectionalEdgesFromHexagon(index)Paramètre
index— Numéro d'index de l’hexagone représentant une cellule. UInt64.
Valeur renvoyée
- Array d'index H3 représentant chaque arête unidirectionnelle. Array(UInt64).
- Lève
INCORRECT_DATApour les cellules non valides par défaut ; renvoie[]lorsquefunctions_h3_default_if_invalid = 1.
Exemple
SELECT h3GetUnidirectionalEdgesFromHexagon(599686042433355775) AS edges;┌─edges─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ [1248204388774707199,1320261982812635135,1392319576850563071,1464377170888491007,1536434764926418943,1608492358964346879] │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘h3GetUnidirectionalEdgeBoundary
Renvoie les coordonnées qui définissent l’arête unidirectionnelle. Lève une exception si l’entrée n’est pas une arête dirigée valide (contrôlé par le paramètre functions_h3_default_if_invalid) ; renvoie un tableau vide uniquement lorsque ce paramètre est activé.
Syntaxe
h3GetUnidirectionalEdgeBoundary(index)Paramètre
index— Numéro d’index de l’hexagone représentant une arête unidirectionnelle. UInt64.
Valeur renvoyée
- Array de couples '(lat, lon)'. Array(Float64, Float64).
- Lève
INCORRECT_DATApour les arêtes dirigées non valides par défaut ; renvoie[]lorsquefunctions_h3_default_if_invalid = 1.
Exemple
SELECT h3GetUnidirectionalEdgeBoundary(1248204388774707199) AS boundary;┌─boundary────────────────────────────────────────────────────────────────────────┐
│ [(37.42012867767779,-122.03773496427027),(37.33755608435299,-122.090428929044)] │
└─────────────────────────────────────────────────────────────────────────────────┘