índice H3
H3 es un sistema de indexación geográfica en el que la superficie de la Tierra se divide en una cuadrícula de celdas hexagonales uniformes. Este sistema es jerárquico; es decir, cada hexágono del nivel superior ("padre") puede dividirse en siete hexágonos uniformes, pero más pequeños ("hijos"), y así sucesivamente.
El nivel de la jerarquía se denomina resolution y puede tomar un valor de 0 a 15, donde 0 es el nivel base, con las celdas más grandes y menos detalladas.
Un par de latitud y longitud puede transformarse en un índice H3 de 64 bits, que identifica una celda de la cuadrícula.
El índice H3 se utiliza principalmente para agrupar ubicaciones y realizar otras manipulaciones geoespaciales.
La descripción completa del sistema H3 está disponible en el sitio de Uber Engineering.
h3IsValid
Comprueba si el número es un índice H3 válido.
Sintaxis
h3IsValid(h3index)Parámetro
h3index— Número de índice hexagonal. UInt64.
Valores devueltos
Ejemplo
SELECT h3IsValid(630814730351855103) AS h3IsValid;┌─h3IsValid─┐
│ 1 │
└───────────┘h3GetResolution
Define la resolución del índice H3 dado.
Sintaxis
h3GetResolution(h3index)Parámetro
h3index— Número de índice hexagonal. UInt64.
Valores devueltos
- Resolución del índice. Rango:
[0, 15]. UInt8. - Si el índice no es válido, la función devuelve un valor aleatorio. Use h3IsValid para verificar el índice. UInt8.
Ejemplo
SELECT h3GetResolution(639821929606596015) AS resolution;┌─resolution─┐
│ 14 │
└────────────┘h3EdgeAngle
Calcula la longitud media del lado de un hexágono H3 en grados.
Sintaxis
h3EdgeAngle(resolution)Parámetro
resolution— Resolución del índice. UInt8. Rango:[0, 15].
Valores devueltos
Ejemplo
SELECT h3EdgeAngle(10) AS edgeAngle;┌───────h3EdgeAngle(10)─┐
│ 0.0005927224846720883 │
└───────────────────────┘h3EdgeLengthM
Calcula la longitud media de la arista de un hexágono H3 en metros.
Sintaxis
h3EdgeLengthM(resolution)Parámetro
resolution— Resolución del índice. UInt8. Intervalo:[0, 15].
Valores devueltos
Ejemplo
SELECT h3EdgeLengthM(15) AS edgeLengthM;┌─edgeLengthM─┐
│ 0.509713273 │
└─────────────┘h3EdgeLengthKm
Calcula la longitud media de la arista de un hexágono H3 en kilómetros.
Sintaxis
h3EdgeLengthKm(resolution)Parámetro
resolution— Resolución del índice. UInt8. Rango:[0, 15].
Valores devueltos
Ejemplo
SELECT h3EdgeLengthKm(15) AS edgeLengthKm;┌─edgeLengthKm─┐
│ 0.000509713 │
└──────────────┘geoToH3
Devuelve el índice H3 del punto (lat, lon) con la resolución especificada.
Sintaxis
geoToH3(lat, lon, resolution)Argumentos
lat— Latitud. Float64.lon— Longitud. Float64.resolution— Resolución del índice. Rango:[0, 15]. UInt8.
Valores devueltos
Nota: En ClickHouse v25.4 o anteriores, geoToH3() toma los valores en el orden (lon, lat). A partir de ClickHouse v25.5, los valores de entrada están en el orden (lat, lon). El comportamiento anterior puede restaurarse mediante la configuración geotoh3_argument_order = 'lon_lat'.
Ejemplo
SELECT geoToH3(55.71290588, 37.79506683, 15) AS h3Index;┌────────────h3Index─┐
│ 644325524701193974 │
└────────────────────┘h3ToGeo
Devuelve la latitud y longitud del centroide correspondientes al índice H3 proporcionado.
Sintaxis
h3ToGeo(h3Index)Argumentos
h3Index— índice H3. UInt64.
Valores devueltos
Nota: En ClickHouse v24.12 o versiones anteriores, h3ToGeo() devuelve los valores en el orden (lon, lat). A partir de ClickHouse v25.1, los valores devueltos están en el orden (lat, lon). El comportamiento anterior se puede restaurar mediante la configuración h3togeo_lon_lat_result_order = true.
Ejemplo
SELECT h3ToGeo(644325524701193974) AS coordinates;┌─coordinates───────────────────────────┐
│ (55.71290243145668,37.79506616830252) │
└───────────────────────────────────────┘h3ToGeoBoundary
Devuelve un array de pares (lat, lon) que representan el límite del índice H3 proporcionado.
Sintaxis
h3ToGeoBoundary(h3Index)Argumentos
h3Index— índice H3. UInt64.
Valores devueltos
Ejemplo
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
Enumera todos los H3 hexágonos en un radio de k a partir del hexágono dado, en orden aleatorio.
Sintaxis
h3kRing(h3index, k)Argumentos
Valores devueltos
Ejemplo
SELECT arrayJoin(h3kRing(644325529233966508, 1)) AS h3index;┌────────────h3index─┐
│ 644325529233966508 │
│ 644325529233966497 │
│ 644325529233966510 │
│ 644325529233966504 │
│ 644325529233966509 │
│ 644325529233966355 │
│ 644325529233966354 │
└────────────────────┘h3PolygonToCells
Devuelve los hexágonos (con la resolución especificada) que quedan dentro de la geometría proporcionada, ya sea un anillo o un (multi)polígono.
Sintaxis
h3PolygonToCells(geometry, resolution)Argumentos
geometrypuede ser uno de los siguientes Geo Data Types o sus tipos primitivos subyacentes:resolution— Resolución del índice. Rango:[0, 15]. UInt8.
Valores devueltos
Ejemplo
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
Devuelve los hexágonos (con la resolución especificada) que cubren la geometría proporcionada, ya sea un anillo, un polígono o un multipolígono, utilizando modos experimentales de contención de H3.
Esta función asigna los valores de flags a los modos de contención de H3:
0—CONTAINMENT_CENTER1—CONTAINMENT_FULL2—CONTAINMENT_OVERLAPPING3—CONTAINMENT_OVERLAPPING_BBOX
Sintaxis
h3PolygonToCellsWithContainment(geometry, resolution, flags)Argumentos
geometrypuede ser uno de los siguientes Geo Data Types o de sus tipos primitivos subyacentes:resolution— Resolución del índice. Rango:[0, 15]. UInt8.flags— Modo de contención. Rango:[0, 3]. Use literales enteros como0,1,2y3, o valores UInt32 (por ejemplo,toUInt32(2)). Los valores se pasan a la API de H3 comoUInt32. Los demás tipos enteros nativos se convierten mediante una conversión exacta.
Valores devueltos
Ejemplo
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
Devuelve el número de la celda base del índice H3.
Sintaxis
h3GetBaseCell(index)Parámetro
index— Número de índice hexagonal. UInt64.
Valor devuelto
- Número de la celda base del hexágono. UInt8.
Ejemplo
SELECT h3GetBaseCell(612916788725809151) AS basecell;┌─basecell─┐
│ 12 │
└──────────┘h3HexAreaM2
Devuelve el área promedio de un hexágono en metros cuadrados para la resolución especificada.
Sintaxis
h3HexAreaM2(resolution)Parámetro
resolution— Resolución del índice. Rango:[0, 15]. UInt8.
Valor devuelto
- Área en metros cuadrados. Float64.
Ejemplo
SELECT h3HexAreaM2(13) AS area;┌─area─┐
│ 43.9 │
└──────┘h3HexAreaKm2
Devuelve el área promedio de un hexágono en kilómetros cuadrados para la resolución dada.
Sintaxis
h3HexAreaKm2(resolution)Parámetro
resolution— Resolución del índice. Rango:[0, 15]. UInt8.
Valor devuelto
- Área en kilómetros cuadrados. Float64.
Ejemplo
SELECT h3HexAreaKm2(13) AS area;┌──────area─┐
│ 0.0000439 │
└───────────┘h3IndexesAreNeighbors
Devuelve si los índices H3 proporcionados son vecinos entre sí o no.
Sintaxis
h3IndexesAreNeighbors(index1, index2)Argumentos
Valor devuelto
Ejemplo
SELECT h3IndexesAreNeighbors(617420388351344639, 617420388352655359) AS n;┌─n─┐
│ 1 │
└───┘h3ToChildren
Devuelve un array con los índices hijos del índice H3 indicado.
Sintaxis
h3ToChildren(index, resolution)Argumentos
index— Número de índice hexagonal. UInt64.resolution— Resolución del índice. Rango:[0, 15]. UInt8.
Valores devueltos
Ejemplo
SELECT h3ToChildren(599405990164561919, 6) AS children;┌─children───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ [603909588852408319,603909588986626047,603909589120843775,603909589255061503,603909589389279231,603909589523496959,603909589657714687] │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘h3ToParent
Devuelve el índice padre (de menor resolución) que contiene el índice H3 dado.
Sintaxis
h3ToParent(index, resolution)Argumentos
index— Número de índice hexagonal. UInt64.resolution— Resolución del índice. Rango:[0, 15]. UInt8.
Valor devuelto
- Índice H3 padre. UInt64.
Ejemplo
SELECT h3ToParent(599405990164561919, 3) AS parent;┌─────────────parent─┐
│ 590398848891879423 │
└────────────────────┘h3ToString
Convierte la representación H3Index del índice en su representación textual.
h3ToString(index)Parámetro
index— Número de índice hexagonal. UInt64.
Valor devuelto
- Representación en cadena del índice H3. String.
Ejemplo
SELECT h3ToString(617420388352917503) AS h3_string;┌─h3_string───────┐
│ 89184926cdbffff │
└─────────────────┘stringToH3
Convierte una representación en cadena a la representación H3Index (UInt64).
Sintaxis
stringToH3(index_str)Parámetro
index_str— Representación en cadena del índice H3. String.
Valor devuelto
- Número de índice hexagonal. Devuelve 0 en caso de error. UInt64.
Ejemplo
SELECT stringToH3('89184926cc3ffff') AS index;┌──────────────index─┐
│ 617420388351344639 │
└────────────────────┘h3GetResolution
Devuelve la resolución del índice H3.
Sintaxis
h3GetResolution(index)Parámetro
index— Número de índice hexagonal. UInt64.
Valor devuelto
- Resolución del índice. Intervalo:
[0, 15]. UInt8.
Ejemplo
SELECT h3GetResolution(617420388352917503) AS res;┌─res─┐
│ 9 │
└─────┘h3IsResClassIII
Devuelve si el índice H3 tiene una resolución con orientación Clase III.
Sintaxis
h3IsResClassIII(index)Parámetro
index— Número de índice hexagonal. UInt64.
Valor devuelto
1— El índice tiene una resolución con orientación de clase III. UInt8.0— El índice no tiene una resolución con orientación de clase III. UInt8.
Ejemplo
SELECT h3IsResClassIII(617420388352917503) AS res;┌─res─┐
│ 1 │
└─────┘h3IsPentagon
Devuelve si este índice H3 representa una celda pentagonal.
Sintaxis
h3IsPentagon(index)Parámetro
index— Número de índice hexagonal. UInt64.
Valor devuelto
1— El índice representa una celda pentagonal. UInt8.0— El índice no representa una celda pentagonal. UInt8.
Ejemplo
SELECT h3IsPentagon(644721767722457330) AS pentagon;┌─pentagon─┐
│ 0 │
└──────────┘h3GetFaces
Devuelve las caras del icosaedro que intersecta un índice H3 dado.
Sintaxis
h3GetFaces(index)Parámetro
index— Número de índice del hexágono. UInt64.
Valores devueltos
Ejemplo
SELECT h3GetFaces(599686042433355775) AS faces;┌─faces─┐
│ [7] │
└───────┘h3CellAreaM2
Devuelve el área exacta de una celda específica, en metros cuadrados, correspondiente al índice H3 de entrada proporcionado.
Sintaxis
h3CellAreaM2(index)Parámetro
index— Número de índice del hexágono. UInt64.
Valor devuelto
- Área de la celda en metros cuadrados. Float64.
Ejemplo
SELECT h3CellAreaM2(579205133326352383) AS area;┌───────────────area─┐
│ 4106166334463.9233 │
└────────────────────┘h3CellAreaRads2
Devuelve el área exacta de una celda específica en radianes cuadrados correspondiente al índice H3 proporcionado.
Sintaxis
h3CellAreaRads2(index)Parámetro
index— Número de índice del hexágono. UInt64.
Valor devuelto
- Área de la celda en radianes cuadrados. Float64.
Ejemplo
SELECT h3CellAreaRads2(579205133326352383) AS area;┌────────────────area─┐
│ 0.10116268528089567 │
└─────────────────────┘h3ToCenterChild
Devuelve el índice H3 hijo central (de mayor resolución) contenido en el índice H3 dado, en la resolución especificada.
Sintaxis
h3ToCenterChild(index, resolution)Parámetro
index— Número de índice del hexágono. UInt64.resolution— Resolución del índice. Rango:[0, 15]. UInt8.
Valores devueltos
Ejemplo
SELECT h3ToCenterChild(577023702256844799,1) AS centerToChild;┌──────centerToChild─┐
│ 581496515558637567 │
└────────────────────┘h3ExactEdgeLengthM
Devuelve la longitud exacta de la arista unidireccional representada por el índice h3 de entrada, en metros.
Sintaxis
h3ExactEdgeLengthM(index)Parámetro
index— Número de índice del hexágono. UInt64.
Valor devuelto
- Longitud exacta de la arista en metros. Float64.
Ejemplo
SELECT round(h3ExactEdgeLengthM(1310277011704381439), 6) AS exactEdgeLengthM;┌─exactEdgeLengthM─┐
│ 195449.631634 │
└──────────────────┘h3ExactEdgeLengthKm
Devuelve la longitud exacta, en kilómetros, de la arista unidireccional representada por el índice h3 proporcionado.
Sintaxis
h3ExactEdgeLengthKm(index)Parámetro
index— Número de índice del hexágono. UInt64.
Valor devuelto
- Longitud exacta de la arista en kilómetros. Float64.
Ejemplo
SELECT round(h3ExactEdgeLengthKm(1310277011704381439), 8) AS exactEdgeLengthKm;┌─exactEdgeLengthKm─┐
│ 195.44963163 │
└───────────────────┘h3ExactEdgeLengthRads
Devuelve la longitud exacta de la arista unidireccional representada por el índice h3 de entrada, en radianes.
Sintaxis
h3ExactEdgeLengthRads(index)Parámetro
index— Número de índice del hexágono. UInt64.
Valor devuelto
- Longitud exacta de la arista en radianes. Float64.
Ejemplo
SELECT round(h3ExactEdgeLengthRads(1310277011704381439), 12) AS exactEdgeLengthRads;┌─exactEdgeLengthRads─┐
│ 0.030677980119 │
└─────────────────────┘h3NumHexagons
Devuelve el número de índices H3 únicos para la resolución dada.
Sintaxis
h3NumHexagons(resolution)Parámetro
resolution— Resolución del índice. Rango:[0, 15]. UInt8.
Valor devuelto
- Número de índices H3. Int64.
Ejemplo
SELECT h3NumHexagons(3) AS numHexagons;┌─numHexagons─┐
│ 41162 │
└─────────────┘h3PointDistM
Devuelve la distancia de "círculo máximo" o "haversine" entre pares de puntos GeoCoord (latitud/longitud), en metros.
Sintaxis
h3PointDistM(lat1, lon1, lat2, lon2)Argumentos
lat1,lon1— Latitud y longitud del punto 1, en grados. Float64.lat2,lon2— Latitud y longitud del punto 2, en grados. Float64.
Valores devueltos
- Distancia de Haversine o de círculo máximo, en metros. Float64.
Ejemplo
SELECT h3PointDistM(-10.0 ,0.0, 10.0, 0.0) AS h3PointDistM;┌───────h3PointDistM─┐
│ 2223901.0395045886 │
└────────────────────┘h3PointDistKm
Devuelve la distancia de "círculo máximo" o "haversine" entre pares de puntos GeoCoord (latitud/longitud), en kilómetros.
Sintaxis
h3PointDistKm(lat1, lon1, lat2, lon2)Argumentos
lat1,lon1— Latitud y longitud del punto 1 en grados. Float64.lat2,lon2— Latitud y longitud del punto 2 en grados. Float64.
Valores devueltos
- Distancia haversine o de círculo máximo en kilómetros. Float64.
Ejemplo
SELECT h3PointDistKm(-10.0 ,0.0, 10.0, 0.0) AS h3PointDistKm;┌──────h3PointDistKm─┐
│ 2223.9010395045884 │
└────────────────────┘h3PointDistRads
Devuelve la distancia de "círculo máximo" o "haversine" entre pares de puntos GeoCoord (latitud/longitud), en radianes.
Sintaxis
h3PointDistRads(lat1, lon1, lat2, lon2)Argumentos
lat1,lon1— Latitud y longitud del punto1 en grados. Float64.lat2,lon2— Latitud y longitud del punto2 en grados. Float64.
Valores devueltos
- Distancia de Haversine o de círculo máximo en radianes. Float64.
Ejemplo
SELECT h3PointDistRads(-10.0 ,0.0, 10.0, 0.0) AS h3PointDistRads;┌────h3PointDistRads─┐
│ 0.3490658503988659 │
└────────────────────┘h3GetRes0Indexes
Devuelve un array con todos los índices H3 de resolución 0.
Sintaxis
h3GetRes0Indexes()Valores devueltos
Ejemplo
SELECT h3GetRes0Indexes AS indexes ;┌─indexes─────────────────────────────────────┐
│ [576495936675512319,576531121047601151,....]│
└─────────────────────────────────────────────┘h3GetPentagonIndexes
Devuelve todos los índices pentagonales de H3 con la resolución especificada.
Sintaxis
h3GetPentagonIndexes(resolution)Parámetro
resolution— Resolución del índice. Rango:[0, 15]. UInt8.
Valor devuelto
Ejemplo
SELECT h3GetPentagonIndexes(3) AS indexes;┌─indexes────────────────────────────────────────────────────────┐
│ [590112357393367039,590464201114255359,590816044835143679,...] │
└────────────────────────────────────────────────────────────────┘h3Line
Devuelve la línea de índices entre los dos índices dados.
Sintaxis
h3Line(start,end)Parámetro
start— Número de índice del hexágono que representa un punto inicial. UInt64.end— Número de índice del hexágono que representa un punto final. UInt64.
Valor devuelto
Array de índices H3 que representa la línea de índices entre los dos índices proporcionados. Array(UInt64).
Ejemplo
SELECT h3Line(590080540275638271,590103561300344831) AS indexes;┌─indexes────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ [590080540275638271,590080471556161535,590080883873021951,590106516237844479,590104385934065663,590103630019821567,590103561300344831] │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘h3Distance
Devuelve la distancia en celdas de cuadrícula entre los dos índices proporcionados.
Sintaxis
h3Distance(start,end)Parámetro
start— Número de índice del hexágono que representa un punto de inicio. UInt64.end— Número de índice del hexágono que representa un punto final. UInt64.
Valor devuelto
- Número de celdas de la cuadrícula. Int64.
Devuelve un número negativo si no se puede calcular la distancia.
Ejemplo
SELECT h3Distance(590080540275638271,590103561300344831) AS distance;┌─distance─┐
│ 6 │
└──────────┘h3HexRing
Devuelve los índices del anillo hexagonal centrado en el h3Index de origen proporcionado, de longitud k.
Devuelve 0 si no se encontró ninguna distorsión pentagonal.
Sintaxis
h3HexRing(index, k)Parámetro
Valores devueltos
Ejemplo
SELECT h3HexRing(590080540275638271, toUInt16(1)) AS hexRing;┌─hexRing─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ [590080815153545215,590080471556161535,590080677714591743,590077585338138623,590077447899185151,590079509483487231] │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘h3GetUnidirectionalEdge
Devuelve un índice H3 de arista unidireccional para dos índices de celdas H3 adyacentes (origen y destino). Lanza una excepción si alguna de las entradas no es una celda H3 válida (según la configuración functions_h3_default_if_invalid). Para celdas válidas que no son vecinas (incluida la misma celda dos veces), devuelve 0.
Sintaxis
h3GetUnidirectionalEdge(originIndex, destinationIndex)Parámetro
originIndex— Número de índice del hexágono de origen. UInt64.destinationIndex— Número de índice del hexágono de destino. UInt64.
Valor devuelto
- Número de índice del hexágono de la arista unidireccional. UInt64.
Ejemplo
SELECT h3GetUnidirectionalEdge(599686042433355775, 599686043507097599) AS edge;┌────────────────edge─┐
│ 1248204388774707199 │
└─────────────────────┘h3UnidirectionalEdgeIsValid
Determina si el H3Index proporcionado es un índice de arista unidireccional válido. Devuelve 1 si es una arista unidireccional y 0 en caso contrario.
Sintaxis
h3UnidirectionalEdgeIsValid(index)Parámetro
index— Número de índice del hexágono. UInt64.
Valor devuelto
- 1 — El índice H3 es una arista unidireccional válida. UInt8.
- 0 — El índice H3 no es una arista unidireccional válida. UInt8.
Ejemplo
SELECT h3UnidirectionalEdgeIsValid(1248204388774707199) AS validOrNot;┌─validOrNot─┐
│ 1 │
└────────────┘h3GetOriginIndexFromUnidirectionalEdge
Devuelve el índice del hexágono de origen del H3Index de arista unidireccional. Lanza una excepción si la entrada no es una arista dirigida válida (lo controla la configuración functions_h3_default_if_invalid); devuelve 0 solo cuando esa configuración está habilitada.
Sintaxis
h3GetOriginIndexFromUnidirectionalEdge(edge)Parámetro
edge— Número de índice del hexágono que representa una arista unidireccional. UInt64.
Valor devuelto
- Número de índice del hexágono de origen. UInt64.
- Genera
INCORRECT_DATApara aristas dirigidas no válidas de forma predeterminada; devuelve0cuandofunctions_h3_default_if_invalid = 1.
Ejemplo
SELECT h3GetOriginIndexFromUnidirectionalEdge(1248204388774707199) AS origin;┌─────────────origin─┐
│ 599686042433355775 │
└────────────────────┘h3GetDestinationIndexFromUnidirectionalEdge
Devuelve el índice del hexágono de destino a partir del H3Index de la arista unidireccional. Lanza una excepción si la entrada no es una arista dirigida válida (controlado por la configuración functions_h3_default_if_invalid); devuelve 0 solo cuando esa configuración está habilitada.
Sintaxis
h3GetDestinationIndexFromUnidirectionalEdge(edge)Parámetro
edge— Número de índice del hexágono que representa una arista unidireccional. UInt64.
Valor devuelto
- Número de índice del hexágono de destino. UInt64.
- Genera
INCORRECT_DATApara aristas dirigidas no válidas de forma predeterminada; devuelve0cuandofunctions_h3_default_if_invalid = 1.
Ejemplo
SELECT h3GetDestinationIndexFromUnidirectionalEdge(1248204388774707199) AS destination;┌────────destination─┐
│ 599686043507097599 │
└────────────────────┘h3GetIndexesFromUnidirectionalEdge
Devuelve los índices de los hexágonos de origen y destino a partir del H3Index de arista unidireccional dado.
Sintaxis
h3GetIndexesFromUnidirectionalEdge(edge)Parámetro
edge— Número de índice del hexágono que representa una arista unidireccional. UInt64.
Valor devuelto
Una tupla formada por dos valores, tuple(origin,destination):
origin— Número de índice del hexágono de origen. UInt64.destination— Número de índice del hexágono de destino. UInt64.
Lanza una excepción si la entrada proporcionada no es una arista dirigida válida (lo controla la configuración functions_h3_default_if_invalid); devuelve (0,0) solo cuando esa configuración está habilitada.
Ejemplo
SELECT h3GetIndexesFromUnidirectionalEdge(1248204388774707199) AS indexes;┌─indexes─────────────────────────────────┐
│ (599686042433355775,599686043507097599) │
└─────────────────────────────────────────┘h3GetUnidirectionalEdgesFromHexagon
Devuelve todas las aristas unidireccionales del H3Index proporcionado. Lanza una excepción si la entrada no es una celda H3 válida (según lo controle la configuración functions_h3_default_if_invalid); solo devuelve un array vacío cuando esa configuración está habilitada.
Sintaxis
h3GetUnidirectionalEdgesFromHexagon(index)Parámetro
index— Número de índice del hexágono que representa una celda. UInt64.
Valor devuelto
- Array de índices H3 que representan cada arista unidireccional. Array(UInt64).
- Genera
INCORRECT_DATApara celdas no válidas de forma predeterminada; devuelve[]cuandofunctions_h3_default_if_invalid = 1.
Ejemplo
SELECT h3GetUnidirectionalEdgesFromHexagon(599686042433355775) AS edges;┌─edges─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ [1248204388774707199,1320261982812635135,1392319576850563071,1464377170888491007,1536434764926418943,1608492358964346879] │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘h3GetUnidirectionalEdgeBoundary
Devuelve las coordenadas que definen la arista unidireccional. Lanza una excepción si la entrada no es una arista dirigida válida (controlado por la configuración functions_h3_default_if_invalid); devuelve un Array vacío solo cuando esa configuración está habilitada.
Sintaxis
h3GetUnidirectionalEdgeBoundary(index)Parámetro
index— Número de índice del hexágono que representa una arista unidireccional. UInt64.
Valor devuelto
- Array de pares '(lat, lon)'. Array(Float64, Float64).
- Genera
INCORRECT_DATApara aristas dirigidas no válidas de forma predeterminada; devuelve[]cuandofunctions_h3_default_if_invalid = 1.
Ejemplo
SELECT h3GetUnidirectionalEdgeBoundary(1248204388774707199) AS boundary;┌─boundary────────────────────────────────────────────────────────────────────────┐
│ [(37.42012867767779,-122.03773496427027),(37.33755608435299,-122.090428929044)] │
└─────────────────────────────────────────────────────────────────────────────────┘