h3_coverash3
fungsi
Berlaku untuk: Databricks SQL Databricks Runtime 13.3 LTS ke atas
Mengembalikan ARRAY nilai BIGINT yang mewakili ID sel H3. Nilai-nilai ini sesuai dengan sekumpulan segi enam atau segi enam minimal, dari resolusi yang ditentukan yang sepenuhnya mencakup geografi linier input atau areal.
Sintaks
h3_coverash3 ( geographyExpr, resolutionExpr )
Argumen
geographyExpr
: Ekspresi BINER atau STRING yang mewakili geografi linear (linestring atau multilinestring) atau areal (poligon atau multipoligon) dalam WKB, WKT, atau GeoJSON. Geografi harus memiliki koordinat bujur dan lintang dalam derajat yang mengacu pada sistem referensi koordinat WGS84 .resolutionExpr
: Ekspresi INT, dengan nilai antara0
dan15
inklusif, menentukan resolusi untuk ID sel H3.
Mengembalikan
ARRAY nilai BIGINT yang sesuai dengan set minimal ID sel H3, dari resolusi yang ditentukan, yang sepenuhnya mencakup geografi linier input atau areal.
Fungsi mengembalikan NULL
jika salah satu ekspresi input adalah NULL
.
Jika argumen input pertama berjenis BINARY, nilai input harus berupa deskripsi WKB dari poligon atau multipoligon.
Jika argumen input pertama berjenis STRING, nilai input harus berupa WKT atau deskripsi GeoJSON dari linestring, poligon, multilinestring, atau multipoligon.
Dimensi linestring input, poligon, multilinestring, atau multipoligon bisa 2D, 3DZ, 3DM, atau 4D.
Kondisi kesalahan
- Jika
geographyExpr
berjenis BINARY dan nilainya adalah WKB yang tidak valid atau tidak mewakili linestring, poligon, multilinestring, atau multipolygon, fungsi mengembalikan WKB_PARSE_ERROR. - Jika
geographyExpr
berjenis STRING dan nilainya adalah WKT yang tidak valid atau tidak mewakili linestring, poligon, multilinestring, atau multipolygon, fungsi mengembalikan WKT_PARSE_ERROR. - Jika
geographyExpr
berjenis STRING dan nilainya adalah GeoJSON yang tidak valid atau tidak mewakili linestring, poligon, multilinestring, atau multipolygon, fungsi mengembalikan GEOJSON_PARSE_ERROR. - Jika
resolutionExpr
lebih kecil dari0
atau lebih besar dari15
, fungsi mengembalikan H3_INVALID_RESOLUTION_VALUE.
Contoh
-- 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