Função h3_coverash3
Aplica-se a: Databricks SQL Databricks Runtime 13.3 LTS e versões posteriores
Retorna uma MATRIZ de valores BIGINT representando as IDs de células H3. Esses valores correspondem ao conjunto mínimo de hexágonos ou pentágonos da resolução especificada, que abrange totalmente as informações da geografia linear ou de área.
Sintaxe
h3_coverash3 ( geographyExpr, resolutionExpr )
Argumentos
geographyExpr
: uma expressão do tipo BINARY ou STRING que representa uma geografia linear (linestring ou multilinestring) ou de área (polígono ou multipolígono) em WKB, WKTou GeoJSON. A geografia precisa ter as coordenadas de longitude e latitude em graus associadas ao sistema de referência de coordenadas WGS84.resolutionExpr
: uma expressão do tipo INT, com um valor entre0
e15
, inclusive, especificando a resolução para as IDs de células H3.
Retorna
Uma MATRIZ de valores BIGINT correspondentes ao conjunto mínimo de IDs de células H3 da resolução especificada, que abrange totalmente as informações da geografia linear ou de área.
A função retornará NULL
se qualquer uma das expressões da informação inserida for NULL
.
Se o primeiro argumento inserido for do tipo BINARY, o valor da informação precisará ser a descrição de um polígono ou multipolígono em WKB.
Se o primeiro argumento inserido for do tipo STRING, o valor da informação precisará ser a descrição em WKT ou GeoJSON de uma linestring, um polígono, uma multilinestring ou um multipolígono.
A dimensão da linestring, polígono, multilinestring ou multipolígono inseridos pode ser em 2D, 3DZ, 3DM ou 4D.
Condições de erro
- Se a
geographyExpr
for do tipo BINARY e o valor for um WKB inválido ou não representar um polígono ou multipolígono, a função retornará um WKB_PARSE_ERROR. - Se a
geographyExpr
for do tipo STRING e o valor for um WKT inválido ou não representar um polígono ou multipolígono, a função retornará um WKT_PARSE_ERROR. - Se a
geographyExpr
for do tipo STRING e o valor for um GeoJSON inválido ou não representar um polígono ou multipolígono, a função retornará um GEOJSON_PARSE_ERROR. - Se
resolutionExpr
for menor0
ou maior que15
, a função retorna H3_INVALID_RESOLUTION_VALUE.
Exemplos
-- 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