Funzione h3_coverash3
Si applica a: Databricks SQL Databricks Runtime 13.3 LTS e versioni successive
Restituisce un array di valori BIGINT che rappresentano gli ID cella H3. Questi valori corrispondono al set minimo di esagoni o pentagoni, della risoluzione specificata che copre completamente l'input lineare o geografica.
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 tra0
e15
inclusivo, specificando la risoluzione per gli ID cella H3.
Valori restituiti
Matrice di valori BIGINT corrispondenti al set minimo di ID cella H3, della risoluzione specificata, che coprono completamente l'input lineare o sono geography.
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 WKT o 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 di0
15
, 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