Compartir vía


Función h3_try_polyfillash3

Se aplica a: casilla marcada como sí Databricks SQL casilla marcada como Sí 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

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