h3_pointash3
Función
Devuelve el Id. de celda H3 (en forma de expresión BIGINT) que se corresponda con el punto proporcionado en la resolución que se especifique.
Se aplica a: versión preliminar de Databricks SQL Databricks Runtime 11.3 LTS y versiones posteriores
Sintaxis
h3_pointash3 ( geographyExpr, resolutionExpr )
Argumentos
geographyExpr
: Una expresión BINARIA o de CADENA que representa una geografía de puntos en WKB, WKT o GeoJSON. Se espera que la geografía tenga coordenadas de longitud y latitud en grados que hagan referencia al sistema de referencia de coordenadas WGS84.resolutionExpr
: expresión INT cuyo valor se espera que esté entre0
y15
(incluidos), que especifica la resolución de los id. de celda H3.
Devoluciones
Devuelve el Id. de celda H3 (en forma de expresión BIGINT) que se corresponda con el punto proporcionado en la resolución que se especifique.
La función devuelve NULL si alguna de las expresiones de entrada es NULL. Si el primer argumento de entrada es de tipo BINARIO, se espera que el valor de entrada sea la descripción WKB de un punto. Si el primer argumento de entrada es de tipo CADENA, se espera que el valor de entrada sea la descripción WKT](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry) o GeoJSON de un punto. La dimensión del punto de entrada puede ser 2D, 3DZ, 3DM o 4D. Se espera que los valores de longitud y latitud de la descripción de WKB, WKT o GeoJSON estén en el sistema de referencia de coordenadas WGS84. La función devuelve NULL si la primera entrada corresponde al punto vacío.
Condiciones de error
- Si
geographyExpr
es de tipo BINARIO y el valor es un WKB no válido o no representa un punto, la función devuelve WKB_PARSE_ERROR. - Si
geographyExpr
es de tipo CADENA y el valor es un WKT no válido o no representa un punto, la función devuelve WKT_PARSE_ERROR. - Si
geographyExpr
es de tipo CADENA y el valor es un GeoJSON no válido o no representa un punto, la función devuelve GEOJSON_PARSE_ERROR. - Si
resolutionExpr
es menor que0
o mayor que15
, la función devuelve H3_INVALID_RESOLUTION_VALUE.
Ejemplos
-- Simple example.
> SELECT h3_pointash3('POINT(100 45)', 6)
604116085645508607
-- The H3 cell ID for the Golden Gate Bridge at resolution 13.
> SELECT h3_pointash3('POINT(-122.4783 37.8199)', 13)
635714569676958015
-- The function returns NULL if the input is the empty point.
> SELECT h3_pointash3('{"type":"Point","coordinates":[]}', 15)
null
-- Feeding a multipoint in WKT format instead of a point.
> SELECT h3_pointash3('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_pointash3('{"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_pointash3(unhex('0201000000516b9a779c9e5ec0c5feb27bf2e84240'), 2)
[WKB_PARSE_ERROR] Error parsing WKB: Invalid byte order 2 at position 1
-- Resolution is out of range.
> SELECT h3_pointash3('POINT(-122.4783 37.8199)', 16)
[H3_INVALID_RESOLUTION_VALUE] H3 resolution 16 must be between 0 and 15, inclusive