í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 denominaresolution 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. Sintaxish3index— Número de índice hexagonal. UInt64.
Query
Response
h3GetResolution
Define la resolución del índice H3 dado. Sintaxish3index— Número de índice hexagonal. UInt64.
- 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.
Query
Response
h3EdgeAngle
Calcula la longitud media del lado de un hexágono H3 en grados. Sintaxisresolution— Resolución del índice. UInt8. Rango:[0, 15].
Query
Response
h3EdgeLengthM
Calcula la longitud media de la arista de un hexágono H3 en metros. Sintaxisresolution— Resolución del índice. UInt8. Intervalo:[0, 15].
Query
Response
h3EdgeLengthKm
Calcula la longitud media de la arista de un hexágono H3 en kilómetros. Sintaxisresolution— Resolución del índice. UInt8. Rango:[0, 15].
Query
Response
geoToH3
Devuelve el índice H3 del punto(lat, lon) con la resolución especificada.
Sintaxis
lat— Latitud. Float64.lon— Longitud. Float64.resolution— Resolución del índice. Rango:[0, 15]. UInt8.
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
Query
Response
h3ToGeo
Devuelve la latitud y longitud del centroide correspondientes al índice H3 proporcionado. Sintaxish3Index— índice H3. UInt64.
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
Query
Response
h3ToGeoBoundary
Devuelve un array de pares(lat, lon) que representan el límite del índice H3 proporcionado.
Sintaxis
h3Index— índice H3. UInt64.
Query
Response
h3kRing
Enumera todos los H3 hexágonos en un radio dek a partir del hexágono dado, en orden aleatorio.
Sintaxis
Query
Response
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. Un hexágono está contenido cuando la geometría contiene su centro, que corresponde al modo de contención0 de h3PolygonToCellsWithContainment.
Cada vértice de la geometría debe estar en la esfera: longitud en el rango [-180, 180] y latitud en el rango [-90, 90] grados. El orden de las celdas devueltas no está garantizado, por lo que ordene el array cuando el orden sea importante.
Sintaxis
geometrypuede ser uno de los siguientes Geo Data Types o sus tipos primitivos subyacentes:resolution— Resolución del índice. Rango:[0, 15]. UInt8.
Query
Response
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. Cada vértice de la geometría debe estar en la esfera: longitud en el rango[-180, 180] y latitud en [-90, 90] grados. No se garantiza el orden de las celdas devueltas, por lo que debe ordenar el array cuando el orden sea importante.
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
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.
Query
Response
h3GetBaseCell
Devuelve el número de la celda base del índice H3. Sintaxisindex— Número de índice hexagonal. UInt64.
- Número de la celda base del hexágono. UInt8.
Query
Response
h3HexAreaM2
Devuelve el área promedio de un hexágono en metros cuadrados para la resolución especificada. Sintaxisresolution— Resolución del índice. Rango:[0, 15]. UInt8.
- Área en metros cuadrados. Float64.
Query
Response
h3HexAreaKm2
Devuelve el área promedio de un hexágono en kilómetros cuadrados para la resolución dada. Sintaxisresolution— Resolución del índice. Rango:[0, 15]. UInt8.
- Área en kilómetros cuadrados. Float64.
Query
Response
h3IndexesAreNeighbors
Devuelve si los índices H3 proporcionados son vecinos entre sí o no. SintaxisQuery
Response
h3ToChildren
Devuelve un array con los índices hijos del índice H3 indicado. Sintaxisindex— Número de índice hexagonal. UInt64.resolution— Resolución del índice. Rango:[0, 15]. UInt8.
Query
Response
h3ToParent
Devuelve el índice padre (de menor resolución) que contiene el índice H3 dado. Sintaxisindex— Número de índice hexagonal. UInt64.resolution— Resolución del índice. Rango:[0, 15]. UInt8.
- Índice H3 padre. UInt64.
Query
Response
h3ToString
Convierte la representaciónH3Index del índice en su representación textual.
index— Número de índice hexagonal. UInt64.
- Representación en cadena del índice H3. String.
Query
Response
stringToH3
Convierte una representación en cadena a la representaciónH3Index (UInt64).
Sintaxis
index_str— Representación en cadena del índice H3. String.
- Número de índice hexagonal. Devuelve 0 en caso de error. UInt64.
Query
Response
h3GetResolution
Devuelve la resolución del índice H3. Sintaxisindex— Número de índice hexagonal. UInt64.
- Resolución del índice. Intervalo:
[0, 15]. UInt8.
Query
Response
h3IsResClassIII
Devuelve si el índice H3 tiene una resolución con orientación Clase III. Sintaxisindex— Número de índice hexagonal. UInt64.
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.
Query
Response
h3IsPentagon
Devuelve si este índice H3 representa una celda pentagonal. Sintaxisindex— Número de índice hexagonal. UInt64.
1— El índice representa una celda pentagonal. UInt8.0— El índice no representa una celda pentagonal. UInt8.
Query
Response
h3GetFaces
Devuelve las caras del icosaedro que intersecta un índice H3 dado. Sintaxisindex— Número de índice del hexágono. UInt64.
Query
Response
h3CellAreaM2
Devuelve el área exacta de una celda específica, en metros cuadrados, correspondiente al índice H3 de entrada proporcionado. Sintaxisindex— Número de índice del hexágono. UInt64.
- Área de la celda en metros cuadrados. Float64.
Query
Response
h3CellAreaRads2
Devuelve el área exacta de una celda específica en radianes cuadrados correspondiente al índice H3 proporcionado. Sintaxisindex— Número de índice del hexágono. UInt64.
- Área de la celda en radianes cuadrados. Float64.
Query
Response
h3ToCenterChild
Devuelve el índice H3 hijo central (de mayor resolución) contenido en el índice H3 dado, en la resolución especificada. Sintaxisindex— Número de índice del hexágono. UInt64.resolution— Resolución del índice. Rango:[0, 15]. UInt8.
Query
Response
h3ExactEdgeLengthM
Devuelve la longitud exacta de la arista unidireccional representada por el índice h3 de entrada, en metros. Sintaxisindex— Número de índice del hexágono. UInt64.
- Longitud exacta de la arista en metros. Float64.
Query
Response
h3ExactEdgeLengthKm
Devuelve la longitud exacta, en kilómetros, de la arista unidireccional representada por el índice h3 proporcionado. Sintaxisindex— Número de índice del hexágono. UInt64.
- Longitud exacta de la arista en kilómetros. Float64.
Query
Response
h3ExactEdgeLengthRads
Devuelve la longitud exacta de la arista unidireccional representada por el índice h3 de entrada, en radianes. Sintaxisindex— Número de índice del hexágono. UInt64.
- Longitud exacta de la arista en radianes. Float64.
Query
Response
h3NumHexagons
Devuelve el número de índices H3 únicos para la resolución dada. Sintaxisresolution— Resolución del índice. Rango:[0, 15]. UInt8.
- Número de índices H3. Int64.
Query
Response
h3PointDistM
Devuelve la distancia de “círculo máximo” o “haversine” entre pares de puntos GeoCoord (latitud/longitud), en metros. Sintaxislat1,lon1— Latitud y longitud del punto 1, en grados. Float64.lat2,lon2— Latitud y longitud del punto 2, en grados. Float64.
- Distancia de Haversine o de círculo máximo, en metros. Float64.
Query
Response
h3PointDistKm
Devuelve la distancia de “círculo máximo” o “haversine” entre pares de puntos GeoCoord (latitud/longitud), en kilómetros. Sintaxislat1,lon1— Latitud y longitud del punto 1 en grados. Float64.lat2,lon2— Latitud y longitud del punto 2 en grados. Float64.
- Distancia haversine o de círculo máximo en kilómetros. Float64.
Query
Response
h3PointDistRads
Devuelve la distancia de “círculo máximo” o “haversine” entre pares de puntos GeoCoord (latitud/longitud), en radianes. Sintaxislat1,lon1— Latitud y longitud del punto1 en grados. Float64.lat2,lon2— Latitud y longitud del punto2 en grados. Float64.
- Distancia de Haversine o de círculo máximo en radianes. Float64.
Query
Response
h3GetRes0Indexes
Devuelve un array con todos los índices H3 de resolución 0. SintaxisQuery
Response
h3GetPentagonIndexes
Devuelve todos los índices pentagonales de H3 con la resolución especificada. Sintaxisresolution— Resolución del índice. Rango:[0, 15]. UInt8.
Query
Response
h3Line
Devuelve la línea de índices entre los dos índices dados. Sintaxisstart— 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.
Query
Response
h3Distance
Devuelve la distancia en celdas de cuadrícula entre los dos índices proporcionados. Sintaxisstart— 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.
- Número de celdas de la cuadrícula. Int64.
Query
Response
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. SintaxisQuery
Response
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ónfunctions_h3_default_if_invalid). Para celdas válidas que no son vecinas (incluida la misma celda dos veces), devuelve 0.
Sintaxis
originIndex— Número de índice del hexágono de origen. UInt64.destinationIndex— Número de índice del hexágono de destino. UInt64.
- Número de índice del hexágono de la arista unidireccional. UInt64.
Query
Response
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. Sintaxisindex— Número de índice del hexágono. UInt64.
- 1 — El índice H3 es una arista unidireccional válida. UInt8.
- 0 — El índice H3 no es una arista unidireccional válida. UInt8.
Query
Response
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ónfunctions_h3_default_if_invalid); devuelve 0 solo cuando esa configuración está habilitada.
Sintaxis
edge— Número de índice del hexágono que representa una arista unidireccional. UInt64.
- 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.
Query
Response
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ónfunctions_h3_default_if_invalid); devuelve 0 solo cuando esa configuración está habilitada.
Sintaxis
edge— Número de índice del hexágono que representa una arista unidireccional. UInt64.
- 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.
Query
Response
h3GetIndexesFromUnidirectionalEdge
Devuelve los índices de los hexágonos de origen y destino a partir del H3Index de arista unidireccional dado. Sintaxisedge— Número de índice del hexágono que representa una arista unidireccional. UInt64.
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.
functions_h3_default_if_invalid); devuelve (0,0) solo cuando esa configuración está habilitada.
Ejemplo
Query
Response
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ónfunctions_h3_default_if_invalid); solo devuelve un array vacío cuando esa configuración está habilitada.
Sintaxis
index— Número de índice del hexágono que representa una celda. UInt64.
- 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.
Query
Response
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ónfunctions_h3_default_if_invalid); devuelve un Array vacío solo cuando esa configuración está habilitada.
Sintaxis
index— Número de índice del hexágono que representa una arista unidireccional. UInt64.
- 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.
Query
Response