Condividi tramite


Funzione h3_coverash3

Si applica a:segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 13.3 LTS e versioni successive

Restituisce un ARRAY di BIGINT values che rappresentano gli ID delle celle H3. Questi values corrispondono al numero minimo set di esagoni o pentagoni alla risoluzione specificata che coprono completamente l'input lineare o areale della geografia.

Sintassi

h3_coverash3 ( geographyExpr, resolutionExpr )

Argomenti

  • geographyExpr: espressione BINARY o STRING che rappresenta una geografia lineare (linestring o multilinestring) o areale (poligono o multipolygon) in WKB, WKT o GeoJSON. L'area geografica deve avere coordinate di longitudine e latitudine in gradi che fanno riferimento al sistema di riferimento delle coordinate WGS84 .
  • resolutionExpr: espressione INT, con un valore compreso tra 0 e 15 inclusivo, specificando la risoluzione per gli ID cella H3.

Valori restituiti

Un array di bigint values corrispondente al valore minimo set di ID cella H3, della risoluzione specificata, che coprono completamente la geografia lineare o areale di input.

La funzione restituisce NULL se una delle espressioni di input è NULL. Se il primo argomento di input è di tipo BINARY, il valore di input deve essere la descrizione WKB di un poligono o un multipolygon. Se il primo argomento di input è di tipo STRING, il valore di input deve essere WKTo la descrizione GeoJSON di una lineastring, poligono, multilinestring o multipolygon. La dimensione della linestring di input, poligono, multilinestring o multipolygon può essere 2D, 3DZ, 3DM o 4D.

Condizioni di errore

  • Se geographyExpr è di tipo BINARY e il valore è un WKB non valido o non rappresenta una riga, un poligono, un multilinestring o un multipolygon, la funzione restituisce WKB_PARSE_ERROR.
  • Se geographyExpr è di tipo STRING e il valore è un WKT non valido o non rappresenta una riga, un poligono, un multilinestring o un multipolygon, la funzione restituisce WKT_PARSE_ERROR.
  • Se geographyExpr è di tipo STRING e il valore è un geoJSON non valido o non rappresenta una riga, un poligono, un multilinestring o un multipolygon, la funzione restituisce GEOJSON_PARSE_ERROR.
  • Se resolutionExpr è minore o maggiore di 015, la funzione restituisce H3_INVALID_RESOLUTION_VALUE.

Esempi

-- Simple example where the input is a triangle in WKT format.
> SELECT h3_coverash3('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-122.4194 37.7749))', 0)
  [577164439745200127, 577199624117288959, 577234808489377791, 577762574070710271]

-- Simple example where the input is a triangle in hexadecimal WKB format.
> SELECT h3_coverash3(unhex('0103000000010000000400000050fc1873d79a5ec0d0d556ec2fe342404182e2c7988f5dc0f46c567dae064140aaf1d24d628052c05e4bc8073d5b444050fc1873d79a5ec0d0d556ec2fe34240'), 0)
  [577164439745200127, 577199624117288959, 577234808489377791, 577762574070710271]

-- Simple example where the input is a linestring in GeoJSON format.
SELECT h3_coverash3('{"type":"LineString","coordinates":[[-122.4194,37.7749],[-118.2437,34.0522],[-74.0060,40.7128]]}', 1)
  [582248581512036351, 581698825698148351, 581707621791170559, 581716417884192767, 581641651093503999, 581650447186526207, 581672437419081727]

-- Feeding an empty multipoint in GeoJSON format (as opposed to a linestring, polygon, multilinestring, or multipolygon).
> SELECT h3_coverash3('{"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_coverash3(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_coverash3('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_coverash3('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