h3_polyfillash3string
fungsi
Berlaku untuk: Databricks SQL Databricks Runtime 11.3 LTS ke atas
Mengembalikan ARRAY ID sel H3 (direpresentasikan sebagai STRING) yang terkait dengan segi enam atau segi enam, dari resolusi yang ditentukan, yang dimuat oleh geografi areal input.
Sintaks
h3_polyfillash3string ( geographyExpr, resolutionExpr )
Argumen
geographyExpr
: Ekspresi BINER atau STRING yang mewakili geografi areal (poligon atau multipoligon) di WKB, WKT, atau GeoJSON. Geografi ini diharapkan memiliki koordinat bujur dan lintang dalam derajat yang mengacu pada sistem referensi koordinat WGS84 .resolutionExpr
: Ekspresi INT, yang nilainya diharapkan antara0
dan15
inklusif, menentukan resolusi untuk ID sel H3.
Mengembalikan
ARRAY nilai STRING yang sesuai dengan ID sel H3, dari resolusi yang ditentukan, yang dimuat oleh geografi areal input.
Fungsi mengembalikan NULL jika salah satu ekspresi input adalah NULL. Jika argumen input pertama berjenis BINARY, nilai input diharapkan menjadi deskripsi WKB dari poligon atau multipoligon. Jika argumen input pertama berjenis STRING, nilai input diharapkan menjadi WKT atau deskripsi GeoJSON dari poligon atau multipoligon. Dimensi poligon input atau multipoligon dapat berupa 2D, 3DZ, 3DM, atau 4D.
Kondisi kesalahan
- Jika
geographyExpr
berjenis BINARY dan nilainya adalah WKB yang tidak valid atau tidak mewakili poligon atau multipoligon, fungsi mengembalikan WKB_PARSE_ERROR. - Jika
geographyExpr
berjenis STRING dan nilainya adalah WKT yang tidak valid atau tidak mewakili poligon atau multipoligon, fungsi mengembalikan WKT_PARSE_ERROR. - Jika
geographyExpr
berjenis STRING dan nilainya adalah GeoJSON yang tidak valid atau tidak mewakili poligon atau multipoligon, 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_polyfillash3string('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-122.4194 37.7749))', 2)
[82268ffffffffff,82269ffffffffff,822987fffffffff,8226e7fffffffff,822997fffffffff,8226f7fffffffff,822657fffffffff,8229affffffffff]
-- Simple example where the input is a triangle in hexadecimal WKB format.
> SELECT h3_polyfillash3string(unhex('0103000000010000000400000050fc1873d79a5ec0d0d556ec2fe342404182e2c7988f5dc0f46c567dae064140aaf1d24d628052c05e4bc8073d5b444050fc1873d79a5ec0d0d556ec2fe34240'), 2)
[82268ffffffffff,82269ffffffffff,822987fffffffff,8226e7fffffffff,822997fffffffff,8226f7fffffffff,822657fffffffff,8229affffffffff]
-- Feeding an empty linestring in GeoJSON format (as opposed to a polygon or multipolygon).
> SELECT h3_polyfillash3string('{"type":"LineString","coordinates":[]}', 2)
[GEOJSON_PARSE_ERROR] Error parsing GeoJSON: Invalid or unsupported type '"LineString"' at position 9
-- Feeding an invalid WKB (invalid endianness value)
> SELECT h3_polyfillash3string(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_polyfillash3string('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_polyfillash3string('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