h3_coverash3stringFunción

Se aplica a:casilla marcada como sí Databricks SQL casilla marcada como Sí Databricks Runtime 13.3 LTS y versiones posteriores

Devuelve una MATRIZ de valores STRING que representan id. de celda H3. Estos valores corresponden al conjunto mínimo de hexágonos o pentágonos, de la resolución especificada, que cubre completamente la geografía lineal o del área de entrada.

Sintaxis

h3_coverash3 ( geographyExpr, resolutionExpr )

Argumentos

  • geographyExpr: expresión BINARY o STRING que representa una geografía lineal (cadena de línea o cadena multinlínea) o del área (polígono o multipolígono) en WKB, WKTo 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, con un valor entre 0 e 15 inclusivo, que especifica la resolución de los id. de celda H3.

Devoluciones

Matriz de valores STRING correspondientes al conjunto mínimo de id. de celda H3, de la resolución especificada, que cubren completamente la geografía lineal o del área de entrada.

La función devuelve NULL si alguna de las expresiones de entrada es NULL. Si el primer argumento de entrada es de tipo BINARY, el valor de entrada debe ser la descripción WKB de una cadena de línea, un polígono, una cadena multilínea o un multipolígono. Si el primer argumento de entrada es de tipo STRING, el valor de entrada debe ser la WKT o GeoJSON de una cadena de línea, un polígono, una cadena multilínea o un multipolígono. La dimensión de la cadena de línea, el polígono, la cadena multilínea o el multipolígono de entrada puede ser 2D, 3DZ, 3DM o 4D.

Condiciones de error

  • Si geographyExpr es de tipo BINARY y el valor es un WKB no válido o no representa una cadena de líneas, polígono, multilínea o multipolígono, la función devuelve WKB_PARSE_ERROR.
  • Si geographyExpr es de tipo STRING y el valor es un WKT no válido o no representa una cadena de línea, un polígono, una cadena multilínea o un multipolígono, la función devuelve WKT_PARSE_ERROR.
  • Si geographyExpr es de tipo STRING y el valor es un GeoJSON no válido o no representa una cadena de línea, un polígono, una cadena multilínea o un multipolígono, la función devuelve GEOJSON_PARSE_ERROR.
  • Si resolutionExpr es menor que 0 o mayor que 15, la función devuelve H3_INVALID_RESOLUTION_VALUE.

Ejemplos

-- Simple example where the input is a triangle in WKT format.
> SELECT h3_coverash3string('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-122.4194 37.7749))', 0)
  [8027fffffffffff,8029fffffffffff,802bfffffffffff,8049fffffffffff]

-- Simple example where the input is a triangle in hexadecimal WKB format.
> SELECT h3_coverash3string(unhex('0103000000010000000400000050fc1873d79a5ec0d0d556ec2fe342404182e2c7988f5dc0f46c567dae064140aaf1d24d628052c05e4bc8073d5b444050fc1873d79a5ec0d0d556ec2fe34240'), 0)
  [8027fffffffffff,8029fffffffffff,802bfffffffffff,8049fffffffffff]

-- Simple example where the input is a linestring in GeoJSON format.
SELECT h3_coverash3string('{"type":"LineString","coordinates":[[-122.4194,37.7749],[-118.2437,34.0522],[-74.0060,40.7128]]}', 1)
  [8148fffffffffff, 8129bffffffffff, 812a3ffffffffff, 812abffffffffff, 81267ffffffffff, 8126fffffffffff, 81283ffffffffff]

-- Feeding an empty multipoint in GeoJSON format (as opposed to a linestring, polygon, multilinestring, or multipolygon).
> SELECT h3_coverash3string('{"type":"MultiPoint","coordinates":[]}', 2)
  [GEOJSON_PARSE_ERROR] Error parsing GeoJSON: Invalid or unsupported type '"MultiPoint"' at position 9

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

-- Feeding an invalid polygon in WKT (polygon is not closed)
> SELECT h3_coverash3string('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-74.0060 40.7128))', 2)
  [WKT_PARSE_ERROR] Error parsing WKT: Found non-closed ring at position 80

-- Resolution is out of range.
> SELECT h3_coverash3string('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