Pular para o conteúdo principal

H3 Index

H3 é um sistema de indexação geográfica em que a superfície da Terra é dividida em uma grade de células hexagonais uniformes. Esse sistema é hierárquico, ou seja, cada hexágono no nível superior (“pai”) pode ser dividido em sete outros hexágonos uniformes, porém menores (“filhos”), e assim por diante. O nível da hierarquia é chamado de resolution e pode assumir um valor de 0 a 15, em que 0 é o nível base, com as células maiores e menos detalhadas. Um par de latitude e longitude pode ser transformado em um índice H3 de 64 bits, que identifica uma célula da grade. O índice H3 é usado principalmente para agrupar localizações e realizar outras manipulações geoespaciais. A descrição completa do sistema H3 está disponível no site de Engenharia da Uber.

h3IsValid

Verifica se o número é um índice H3 válido. Sintaxe
Parâmetro
  • h3index — Número do índice hexagonal. UInt64.
Valores retornados
  • 1 — O número é um índice H3 válido. UInt8.
  • 0 — O número não é um índice H3 válido. UInt8.
Exemplo
Query
Response

h3GetResolution

Define a resolução do índice H3 informado. Sintaxe
Parâmetro
  • h3index — Número do índice hexagonal. UInt64.
Valores retornados
  • Resolução do índice. Intervalo: [0, 15]. UInt8.
  • Se o índice não for válido, a função retornará um valor aleatório. Use h3IsValid para verificar o índice. UInt8.
Exemplo
Query
Response

h3EdgeAngle

Calcula o comprimento médio de uma aresta de um hexágono H3, em graus. Sintaxe
Parâmetro
  • resolution — Resolução do índice. UInt8. Intervalo: [0, 15].
Valores retornados
  • O comprimento médio da aresta de um hexágono H3, em graus. Float64.
Exemplo
Query
Response

h3EdgeLengthM

Calcula o comprimento médio da aresta de um hexágono H3, em metros. Sintaxe
Parâmetro
  • resolution — Resolução do índice. UInt8. Intervalo: [0, 15].
Valores retornados
  • O comprimento médio da aresta de um hexágono H3, em metros. Float64.
Exemplo
Query
Response

h3EdgeLengthKm

Calcula o comprimento médio da aresta de um hexágono H3, em quilômetros. Sintaxe
Parâmetro
  • resolution — Resolução do índice. UInt8. Intervalo: [0, 15].
Valores retornados
  • O comprimento médio da aresta de um hexágono H3, em quilômetros. Float64.
Exemplo
Query
Response

geoToH3

Retorna H3 o índice do ponto (lat, lon) com a resolução especificada. Sintaxe
Argumentos
  • lat — Latitude. Float64.
  • lon — Longitude. Float64.
  • resolution — Resolução do índice. Intervalo: [0, 15]. UInt8.
Valores retornados
  • Número do índice hexagonal. UInt64.
  • 0 em caso de erro. UInt64.
Observação: no ClickHouse v25.4 ou anterior, geoToH3() recebe os valores na ordem (lon, lat). A partir do ClickHouse v25.5, os valores de entrada seguem a ordem (lat, lon). O comportamento anterior pode ser restaurado usando a configuração geotoh3_argument_order = 'lon_lat'. Exemplo
Query
Response

h3ToGeo

Retorna a latitude e a longitude do centróide correspondentes ao índice H3 informado. Sintaxe
Argumentos
  • h3Index — índice H3. UInt64.
Valores retornados
  • Uma tupla composta por dois valores: tuple(lat,lon). lat — Latitude. Float64. lon — Longitude. Float64.
Observação: no ClickHouse v24.12 ou anterior, h3ToGeo() retorna os valores na ordem (lon, lat). A partir do ClickHouse v25.1, os valores retornados ficam na ordem (lat, lon). O comportamento anterior pode ser restaurado usando a configuração h3togeo_lon_lat_result_order = true. Exemplo
Query
Response

h3ToGeoBoundary

Retorna um array de pares (lat, lon), que correspondem ao contorno do índice H3 fornecido. Sintaxe
Argumentos
  • h3Index — índice H3. UInt64.
Valores retornados Exemplo
Query
Response

h3kRing

Lista todos os hexágonos H3 em um raio de k do hexágono fornecido, em ordem aleatória. Sintaxe
Argumentos
  • h3index — Número do índice hexagonal. UInt64.
  • k — Raio. inteiro
Valores retornados Exemplo
Query
Response

h3PolygonToCells

Retorna os hexágonos (na resolução especificada) contidos na geometria fornecida, seja um ring ou um (multi-)polygon. Sintaxe
Argumentos Valores retornados Exemplo
Query
Response

h3GetBaseCell

Retorna o número da célula-base do índice H3. Sintaxe
Parâmetro
  • index — número do índice hexagonal. UInt64.
Valor retornado
  • Número da célula-base do hexágono. UInt8.
Exemplo
Query
Response

h3HexAreaM2

Retorna a área média do hexágono em metros quadrados na resolução informada. Sintaxe
Parâmetro
  • resolution — Resolução do índice. Intervalo: [0, 15]. UInt8.
Valor retornado
  • Área em metros quadrados. Float64.
Exemplo
Query
Response

h3HexAreaKm2

Retorna a área média de um hexágono em quilômetros quadrados na resolução especificada. Sintaxe
Parâmetro
  • resolution — Resolução do índice. Faixa: [0, 15]. UInt8.
Valor retornado
  • Área em quilômetros quadrados. Float64.
Exemplo
Query
Response

h3IndexesAreNeighbors

Retorna se os H3 índices fornecidos são vizinhos. Sintaxe
Argumentos
  • index1 — Número do índice hexagonal. UInt64.
  • index2 — Número do índice hexagonal. UInt64.
Valor retornado
  • 1 — Os índices são vizinhos. UInt8.
  • 0 — Os índices não são vizinhos. UInt8.
Exemplo
Query
Response

h3ToChildren

Retorna um array com os índices filhos do índice H3 informado. Sintaxe
Argumentos
  • index — Número do índice hexagonal. UInt64.
  • resolution — Resolução do índice. Intervalo: [0, 15]. UInt8.
Valores retornados Exemplo
Query
Response

h3ToParent

Retorna o índice pai (de resolução mais baixa) que contém o índice H3 informado. Sintaxe
Argumentos
  • index — número do índice hexagonal. UInt64.
  • resolution — Resolução do índice. Intervalo: [0, 15]. UInt8.
Valor retornado Exemplo
Query
Response

h3ToString

Converte a representação H3Index do índice em sua representação textual.
Parâmetro
  • index — Número do índice hexagonal. UInt64.
Valor retornado
  • Representação textual do índice H3. String.
Exemplo
Query
Response

stringToH3

Converte a representação textual em H3Index (UInt64). Sintaxe
Parâmetro
  • index_str — Representação textual do índice H3. String.
Valor retornado
  • Número do índice hexagonal. Retorna 0 em caso de erro. UInt64.
Exemplo
Query
Response

h3GetResolution

Retorna a resolução do índice H3. Sintaxe
Parâmetro
  • index — Número do índice hexagonal. UInt64.
Valor retornado
  • Resolução do índice. Intervalo: [0, 15]. UInt8.
Exemplo
Query
Response

h3IsResClassIII

Retorna se o índice H3 tem uma resolução de orientação Classe III. Sintaxe
Parâmetro
  • index — Número do índice hexagonal. UInt64.
Valor retornado
  • 1 — O índice tem resolução com orientação de Classe III. UInt8.
  • 0 — O índice não tem resolução com orientação de Classe III. UInt8.
Exemplo
Query
Response

h3IsPentagon

Retorna se este índice H3 corresponde a uma célula pentagonal. Sintaxe
Parâmetro
  • index — Número do índice hexagonal. UInt64.
Valor retornado
  • 1 — O índice representa uma célula pentagonal. UInt8.
  • 0 — O índice não representa uma célula pentagonal. UInt8.
Exemplo
Query
Response

h3GetFaces

Retorna as faces do icosaedro que são intersectadas por um determinado índice H3. Sintaxe
Parâmetro
  • index — Número do índice do hexágono. UInt64.
Valores retornados
  • Array contendo as faces do icosaedro que têm interseção com um determinado índice H3. Array(UInt64).
Exemplo
Query
Response

h3CellAreaM2

Retorna a área exata, em metros quadrados, de uma célula específica correspondente ao índice H3 informado. Sintaxe
Parâmetro
  • index — Número do índice do hexágono. UInt64.
Valor retornado
  • Área da célula em metros quadrados. Float64.
Exemplo
Query
Response

h3CellAreaRads2

Retorna a área exata de uma célula específica em radianos quadrados correspondente ao índice H3 informado. Sintaxe
Parâmetro
  • index — Número do índice do hexágono. UInt64.
Valor retornado
  • Área da célula em radianos ao quadrado. Float64.
Exemplo
Query
Response

h3ToCenterChild

Retorna o índice H3 filho central (mais refinado) contido no H3 especificado, na resolução informada. Sintaxe
Parâmetro
  • index — Número do índice do hexágono. UInt64.
  • resolution — Resolução do índice. Intervalo: [0, 15]. UInt8.
Valores retornados
  • índice H3 do filho central contido no H3 fornecido, na resolução especificada. UInt64.
Exemplo
Query
Response

h3ExactEdgeLengthM

Retorna o comprimento exato da aresta unidirecional representada pelo índice H3 de entrada, em metros. Sintaxe
Parâmetro
  • index — Número do índice do hexágono. UInt64.
Valor retornado
  • Comprimento exato da aresta em metros. Float64.
Exemplo
Query
Response

h3ExactEdgeLengthKm

Retorna o comprimento exato da aresta unidirecional representada pelo índice H3 informado, em quilômetros. Sintaxe
Parâmetro
  • index — Número de índice do hexágono. UInt64.
Valor retornado
  • Comprimento exato da aresta em quilômetros. Float64.
Exemplo
Query
Response

h3ExactEdgeLengthRads

Retorna o comprimento exato da aresta unidirecional representada pelo índice H3 informado, em radianos. Sintaxe
Parâmetro
  • index — Número do índice do hexágono. UInt64.
Valor de retorno
  • Comprimento exato da aresta, em radianos. Float64.
Exemplo
Query
Response

h3NumHexagons

Retorna o número de índices H3 únicos na resolução especificada. Sintaxe
Parâmetro
  • resolution — Resolução do índice. Intervalo: [0, 15]. UInt8.
Valor retornado
  • Número de índices H3. Int64.
Exemplo
Query
Response

h3PointDistM

Retorna a distância de “grande círculo” ou “haversine” entre pares de pontos GeoCoord (latitude/longitude), em metros. Sintaxe
Argumentos
  • lat1, lon1 — Latitude e longitude do ponto 1 em graus. Float64.
  • lat2, lon2 — Latitude e longitude do ponto 2 em graus. Float64.
Valores retornados
  • Distância haversine, ou de grande círculo, em metros.Float64.
Exemplo
Query
Response

h3PointDistKm

Retorna a distância de “grande círculo” ou “haversine” entre pares de pontos GeoCoord (latitude/longitude), em quilômetros. Sintaxe
Argumentos
  • lat1, lon1 — Latitude e longitude do ponto 1, em graus. Float64.
  • lat2, lon2 — Latitude e longitude do ponto 2, em graus. Float64.
Valores retornados
  • Distância de Haversine ou de círculo máximo, em quilômetros. Float64.
Exemplo
Query
Response

h3PointDistRads

Retorna a distância de “grande círculo” ou “haversine” entre pares de pontos GeoCoord (latitude/longitude), em radianos. Sintaxe
Argumentos
  • lat1, lon1 — Latitude e longitude do ponto 1 em graus. Float64.
  • lat2, lon2 — Latitude e longitude do ponto 2 em graus. Float64.
Valores retornados
  • Distância haversine ou de grande círculo em radianos. Float64.
Exemplo
Query
Response

h3GetRes0Indexes

Retorna um array com todos os índices H3 de resolução 0. Sintaxe
Valores retornados
  • Array com todos os índices H3 de resolução 0. Array(UInt64).
Exemplo
Query
Response

h3GetPentagonIndexes

Retorna todos os índices H3 pentagonais na resolução especificada. Sintaxe
Parâmetro
  • resolution — Resolução do índice. Intervalo: [0, 15]. UInt8.
Valor retornado
  • Array com todos os índices H3 de pentágono. Array(UInt64).
Exemplo
Query
Response

h3Line

Retorna a linha de índices entre os dois índices informados. Sintaxe
Parâmetro
  • start — Número do índice H3 que representa um ponto inicial. UInt64.
  • end — Número do índice H3 que representa um ponto final. UInt64.
Valor retornado Array de índices H3 que representa a linha de índices entre os dois índices fornecidos. Array(UInt64). Exemplo
Query
Response

h3Distance

Retorna a distância em células de grade entre os dois índices fornecidos. Sintaxe
Parâmetro
  • start — Número do índice do hexágono que representa o ponto inicial. UInt64.
  • end — Número do índice do hexágono que representa o ponto final. UInt64.
Valor retornado
  • Número de células da grade. Int64.
Retorna um número negativo se o cálculo da distância falhar. Exemplo
Query
Response

h3HexRing

Retorna os índices do anel hexagonal centrado no h3Index de origem fornecido, com comprimento k. Retorna 0 se não houver distorção pentagonal. Sintaxe
Parâmetro
  • index — Número do índice do hexágono que representa a origem. UInt64.
  • k — Distância. UInt64.
Valores retornados Exemplo
Query
Response

h3GetUnidirectionalEdge

Retorna um índice H3 de aresta unidirecional com base na origem e no destino informados; em caso de erro, retorna 0. Sintaxe
Parâmetro
  • originIndex — Número do índice do hexágono de origem. UInt64.
  • destinationIndex — Número do índice do hexágono de destino. UInt64.
Valor retornado
  • Número do índice do hexágono da aresta unidirecional. UInt64.
Exemplo
Query
Response

h3UnidirectionalEdgeIsValid

Determina se o H3Index fornecido é um índice de aresta unidirecional válido. Retorna 1 se for uma aresta unidirecional e 0 caso contrário. Sintaxe
Parâmetro
  • index — Número de índice do hexágono. UInt64.
Valor retornado
  • 1 — O índice H3 é uma aresta unidirecional válida. UInt8.
  • 0 — O índice H3 não é uma aresta unidirecional válida. UInt8.
Exemplo
Query
Response

h3GetOriginIndexFromUnidirectionalEdge

Retorna o índice do hexágono de origem da aresta unidirecional H3Index. Sintaxe
Parâmetro
  • edge — Número do índice do hexágono que representa uma aresta unidirecional. UInt64.
Valor retornado
  • Número do índice do hexágono de origem. UInt64.
Exemplo
Query
Response

h3GetDestinationIndexFromUnidirectionalEdge

Retorna o índice do hexágono de destino da aresta unidirecional H3Index. Sintaxe
Parâmetro
  • edge — Número do índice do hexágono que representa uma aresta unidirecional. UInt64.
Valor retornado
  • Número do índice do hexágono de destino. UInt64.
Exemplo
Query
Response

h3GetIndexesFromUnidirectionalEdge

Retorna os índices dos hexágonos de origem e de destino a partir da aresta unidirecional H3Index fornecida. Sintaxe
Parâmetro
  • edge — Número do índice do hexágono que representa uma aresta unidirecional. UInt64.
Valor retornado Uma tupla composta por dois valores tuple(origin,destination):
  • origin — Número do índice do hexágono de origem. UInt64.
  • destination — Número do índice do hexágono de destino. UInt64.
Retorna (0,0) se a entrada fornecida não for válida. Exemplo
Query
Response

h3GetUnidirectionalEdgesFromHexagon

Retorna todas as arestas unidirecionais do H3Index fornecido. Sintaxe
Parâmetro
  • index — Número do índice do hexágono que representa uma aresta unidirecional. UInt64.
Valor retornado Array de índices H3 que representam cada aresta unidirecional. Array(UInt64). Exemplo
Query
Response

h3GetUnidirectionalEdgeBoundary

Retorna as coordenadas que definem a aresta unidirecional. Sintaxe
Parâmetro
  • index — Número do índice do hexágono que representa uma aresta unidirecional. UInt64.
Valor retornado Exemplo
Query
Response
Última modificação em 12 de junho de 2026