Funkce h3_try_polyfillash3
Platí pro: Databricks SQL Databricks Runtime 11.3 LTS a vyšší
Chová se stejně jako h3_polyfillash3 s tím rozdílem, že hodnota NULL se vrátí místo chyby, pokud je první argument neplatný. Přesněji řečeno vrátí POLE ID buněk H3 (reprezentované jako BIGINT) odpovídající šestiúhelníku nebo pětiúhelníku zadaného rozlišení, které jsou obsaženy vstupní areální zeměpisná oblast.
Syntaxe
h3_try_polyfillash3 ( geographyExpr, resolutionExpr )
Argumenty
geographyExpr
: Výraz BINARY nebo STRING představující areální geografii (mnohoúhelník nebo multipolygon) ve WKB, WKT nebo GeoJSON. Zeměpisná oblast má souřadnice zeměpisné délky a zeměpisné šířky ve stupních, které odkazují na referenční systém souřadnic WGS84 .resolutionExpr
: Výraz INT, jehož hodnota má být mezi 0 a 15 včetně, určující rozlišení buněk H3.
Návraty
POLE hodnot BIGINT odpovídajícíCH ID buněk H3 zadaného rozlišení, které jsou obsaženy vstupní zeměpisná oblast areální zeměpisná oblast.
Funkce vrátí hodnotu NULL, pokud některý ze vstupních výrazů má hodnotu NULL. Pokud je první vstupní argument typu BINARY, očekává se, že vstupní hodnotou bude popis 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. Funkce vrátí hodnotu NULL, pokud první argument odpovídá neplatnému WKB, WKT nebo GeoJSON nebo nepředstavuje mnohoúhelník nebo multipolygon.
Chybové podmínky
- Pokud
resolutionExpr
je menší než nebo větší15
,0
vrátí funkce H3_INVALID_RESOLUTION_VALUE.
Příklady
-- Simple example where the input is a triangle in WKT format.
> SELECT h3_try_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_try_polyfillash3(unhex('0103000000010000000400000050fc1873d79a5ec0d0d556ec2fe342404182e2c7988f5dc0f46c567dae064140aaf1d24d628052c05e4bc8073d5b444050fc1873d79a5ec0d0d556ec2fe34240'), 2)
[586146350232502271,586147449744130047,586198577034821631,586152397546455039,586199676546449407,586153497058082815,586142501941805055,586201325813891071]
-- The input is invalid.
> SELECT h3_try_polyfillash3('Not-a-valid-rep', 2)
null
-- Resolution is out of range.
> SELECT h3_try_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