Función h3_try_polyfillash3
Se aplica a: Databricks SQL Databricks Runtime 11.3 LTS y versiones posteriores
Se comporta igual que h3_polyfillash3, salvo que se devuelve NULL en lugar de un error si el primer argumento no es válido. Concretamente, devuelve una ARRAY de id. de celda H3 (representados como BIGINT) correspondientes a hexágonos o pentágonos, de la resolución especificada, contenidos en la geografía del área de entrada.
Sintaxis
h3_try_polyfillash3 ( geographyExpr, resolutionExpr )
Argumentos
geographyExpr
: expresión BINARIA o de CADENA que representa una geografía de área (de polígono o varios polígonos) 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é entre 0 y 15 inlcuidos, especificando la resolución de las celdas H3.
Devoluciones
Matriz de valores BIGINT correspondientes a los id. de celda H3, de la resolución especificada, que contiene la geografía de área de entrada.
La función devuelve NULL si cualquiera de las expresiones de entrada es NULL. Si el primer argumento de entrada es de tipo BINARY, se espera que el valor de entrada sea la descripción WKB de un polígono o un multipolígono. Si el primer argumento de entrada es de tipo STRING, se espera que el valor de entrada sea la descripción de WKT o de GeoJSON de un polígono o un multipolígono. La dimensión del polígono o el multipolígono de entrada puede ser 2D, 3DZ, 3DM o 4D. La función devuelve NULL si el primer argumento corresponde a un WKB, WKT o GeoJSON no válido o no representa un polígono o un multipolígono.
Condiciones de error
- Si
resolutionExpr
es menor que0
o mayor que15
, la función devuelve H3_INVALID_RESOLUTION_VALUE.
Ejemplos
-- Simple example where the input is a triangle in WKT format.
> SELECT h3_try_polyfillash3('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-122.4194 37.7749))', 2)
[586146350232502271,586147449744130047,586198577034821631,586152397546455039,586199676546449407,586153497058082815,586142501941805055,586201325813891071]
-- Simple example where the input is a triangle in hexadecimal WKB format.
> SELECT h3_try_polyfillash3(unhex('0103000000010000000400000050fc1873d79a5ec0d0d556ec2fe342404182e2c7988f5dc0f46c567dae064140aaf1d24d628052c05e4bc8073d5b444050fc1873d79a5ec0d0d556ec2fe34240'), 2)
[586146350232502271,586147449744130047,586198577034821631,586152397546455039,586199676546449407,586153497058082815,586142501941805055,586201325813891071]
-- The input is invalid.
> SELECT h3_try_polyfillash3('Not-a-valid-rep', 2)
null
-- Resolution is out of range.
> SELECT h3_try_polyfillash3('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-122.4194 37.7749))', 16)
[H3_INVALID_RESOLUTION_VALUE] H3 resolution 16 must be between 0 and 15, inclusive