Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Funkce
Platí pro:
Databricks SQL
Databricks Runtime 11.3 LTS a vyšší
ARRAY Vrátí ID buněk H3 reprezentované jako BIGINTšestnáctkové nebo pětiúhelníky zadaného rozlišení, jejichž centroidy jsou obsaženy ve vstupní zeměpisná oblast.
Syntaxe
h3_polyfillash3 ( geographyExpr, resolutionExpr )
Argumenty
-
geographyExpr: ABINARYneboSTRINGvýraz představující areální zeměpisná oblast (mnohoúhelník nebo multipolygon) ve WKB, WKT nebo GeoJSON. Očekává se, že geografie bude mít souřadnice ve stupních zeměpisné délky a šířky, které odkazují na referenční systém souřadnic WGS84. -
resolutionExpr: VýrazINT, jehož hodnota by měla být mezi0a15včetně, určuje rozlišení ID buněk H3.
Návraty
ARRAY Hodnota BIGINT odpovídající ID buňky H3 zadaného rozlišení, jejichž centroidy jsou obsaženy ve vstupní areální zeměpisné oblasti.
Funkce vrátí NULL , pokud je některý ze vstupních výrazů NULL.
Pokud je první vstupní argument typu BINARY, očekává se, že vstupní hodnota bude popisem mnohoúhelníku nebo multipolygonu WKB .
Pokud je první vstupní argument typu STRING, očekává se, že vstupní hodnota bude buď WKT , nebo GeoJSON popis mnohoúhelníku nebo multipolygonu.
Rozměr vstupního mnohoúhelníku nebo multipolygonu může být 2D, 3DZ, 3DM nebo 4D.
Podmínky chyb
- Pokud
geographyExprje typBINARYa hodnota je buď neplatný WKB nebo nepředstavuje mnohoúhelník nebo multipolygon, vrátí funkce WKB_PARSE_ERROR. - Pokud
geographyExprje typSTRINGa hodnota je buď neplatný WKT nebo nepředstavuje mnohoúhelník nebo multipolygon, vrátí funkce WKT_PARSE_ERROR. - Pokud
geographyExprje typSTRINGa hodnota je buď neplatná GeoJSON, nebo nepředstavuje mnohoúhelník nebo multipolygon, vrátí funkce GEOJSON_PARSE_ERROR. - Pokud je
resolutionExprmenší než0nebo větší než15, funkce vrátí H3_INVALID_RESOLUTION_VALUE.
Příklady
-- Simple example where the input is a triangle in WKT format.
> SELECT h3_polyfillash3('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-122.4194 37.7749))', 2);
[586146350232502271,586147449744130047,586198577034821631,586152397546455039,586199676546449407,586153497058082815,586142501941805055,586201325813891071]
-- Simple example where the input is a triangle in hexadecimal WKB format.
> SELECT h3_polyfillash3(unhex('0103000000010000000400000050fc1873d79a5ec0d0d556ec2fe342404182e2c7988f5dc0f46c567dae064140aaf1d24d628052c05e4bc8073d5b444050fc1873d79a5ec0d0d556ec2fe34240'), 2);
[586146350232502271,586147449744130047,586198577034821631,586152397546455039,586199676546449407,586153497058082815,586142501941805055,586201325813891071]
-- Feeding an empty linestring in GeoJSON format (as opposed to a polygon or multipolygon).
> SELECT h3_polyfillash3('{"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_polyfillash3(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_polyfillash3('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_polyfillash3('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