Partilhar via


Função h3_pointash3string

Retorna o ID da célula H3 (como uma STRING) correspondente ao ponto fornecido na resolução especificada.

Aplica-se a: Marque Sim Databricks SQL preview Marque Sim Databricks Runtime 11.3 LTS e superior

Sintaxe

h3_pointash3string ( geographyExpr, resolutionExpr )

Argumentos

  • geographyExpr: Uma expressão BINARY ou STRING que representa uma geografia de ponto em WKB, WKT ou GeoJSON. Espera-se que a geografia tenha coordenadas de longitude e latitude em graus que se referem ao sistema de referência de coordenadas WGS84 .
  • resolutionExpr: Uma expressão INT, cujo valor deve ser entre 0 e 15 inclusivo, especificando a resolução para o ID da célula H3.

Devoluções

Retorna o ID da célula H3 (como uma STRING) correspondente ao ponto fornecido na resolução especificada.

A função retorna NULL se qualquer uma das expressões de entrada for NULL. Se o primeiro argumento de entrada for do tipo BINARY, espera-se que o valor de entrada seja a descrição WKB de um ponto. Se o primeiro argumento de entrada for do tipo STRING, espera-se que o valor de entrada seja o WKT](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry) ou a descrição GeoJSON de um ponto. A dimensão do ponto de entrada pode ser 2D, 3DZ, 3DM ou 4D. Espera-se que os valores de longitude e latitude na descrição WKB, WKT ou GeoJSON estejam no sistema de referência de coordenadas WGS84. A função retorna NULL se a primeira entrada corresponder ao ponto vazio.

Condições de erro

  • Se geographyExpr for do tipo BINARY e o valor for um WKB inválido ou não representar um ponto, a função retornará WKB_PARSE_ERROR.
  • Se geographyExpr for do tipo STRING e o valor for um WKT inválido ou não representar um ponto, a função retornará WKT_PARSE_ERROR.
  • Se geographyExpr for do tipo STRING e o valor for um GeoJSON inválido ou não representar um ponto, a função retornará GEOJSON_PARSE_ERROR.
  • Se resolutionExpr for menor 0 ou maior que 15, a função retornará H3_INVALID_RESOLUTION_VALUE.

Exemplos

-- Simple example.
> SELECT h3_pointash3string('POINT(100 45)', 6)
  86240610fffffff

-- The H3 cell ID for the Golden Gate Bridge at resolution 13.
> SELECT h3_pointash3string('POINT(-122.4783 37.8199)', 13)
  8d283087022a93f

-- The function returns NULL if the input is the empty point.
> SELECT h3_pointash3string('{"type":"Point","coordinates":[]}', 15)
  null

-- Feeding a multipoint in WKT format instead of a point.
> SELECT h3_pointash3string('MULTIPOINT(100 45)', 6)
  [WKT_PARSE_ERROR] Error parsing WKT: Invalid or unsupported type 'MULTIPOINT' at position 1

-- Feeding an invalid GeoJSON string ("type" value is not correct).
> SELECT h3_pointash3string('{"type":"POINT","coordinates":[]}', 15)
  [GEOJSON_PARSE_ERROR] Error parsing GeoJSON: Invalid or unsupported type '"POINT"' at position 9

-- Feeding an invalid WKB (invalid endianness value)
> SELECT h3_pointash3string(unhex('0201000000516b9a779c9e5ec0c5feb27bf2e84240'), 2)
  [WKB_PARSE_ERROR] Error parsing WKB: Invalid byte order 2 at position 1

-- Resolution is out of range.
> SELECT h3_pointash3string('POINT(-122.4783 37.8199)', 16)
  [H3_INVALID_RESOLUTION_VALUE] H3 resolution 16 must be between 0 and 15, inclusive