Funktionen h3_try_polyfillash3string
Gäller för: Databricks SQL Databricks Runtime 11.3 LTS och senare
Fungerar på samma sätt som h3_polyfillash3string, förutom att NULL returneras i stället för ett fel om det första argumentet är ogiltigt. Mer exakt returnerar en MATRIS med H3-cell-ID:er (representeras som STRING) som motsvarar sexhörningar eller pentagoner, av den angivna upplösningen, som ingår i indata areal geografi.
Syntax
h3_try_polyfillash3string ( geographyExpr, resolutionExpr )
Argument
geographyExpr
: Ett binärt uttryck eller STRING-uttryck som representerar ett arealgeografi (polygon eller multipolygon) i WKB, WKT eller GeoJSON. Geografin förväntas ha longitud- och latitudkoordinater i grader som refererar till WGS84-koordinatreferenssystemet .resolutionExpr
: Ett INT-uttryck, vars värde förväntas vara mellan 0 och 15 inklusive, som anger upplösningen för H3-cellerna.
Returer
En MATRIS med STRING-värden som motsvarar H3-cell-ID:t, för den angivna upplösningen, som finns i indatans arealgeografi.
Funktionen returnerar NULL om något av indatauttrycken är NULL. Om det första indataargumentet är av typen BINARY förväntas indatavärdet vara WKB-beskrivningen av en polygon eller en multipolygon. Om det första indataargumentet är av typen STRING förväntas indatavärdet antingen vara WKT- eller GeoJSON-beskrivningen för en polygon eller en multipolygon. Dimensionen för indatapogonen eller multipolygonen kan vara 2D, 3DZ, 3DM eller 4D. Funktionen returnerar NULL om det första argumentet motsvarar en ogiltig WKB, WKT eller GeoJSON eller inte representerar en polygon eller en multipolygon.
Feltillstånd
- Om
resolutionExpr
är mindre än0
eller större än15
returnerar funktionen H3_INVALID_RESOLUTION_VALUE.
Exempel
-- Simple example where the input is a triangle in WKT format.
> SELECT h3_try_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_try_polyfillash3string(unhex('0103000000010000000400000050fc1873d79a5ec0d0d556ec2fe342404182e2c7988f5dc0f46c567dae064140aaf1d24d628052c05e4bc8073d5b444050fc1873d79a5ec0d0d556ec2fe34240'), 2)
[82268ffffffffff,82269ffffffffff,822987fffffffff,8226e7fffffffff,822997fffffffff,8226f7fffffffff,822657fffffffff,8229affffffffff]
-- The input is invalid.
> SELECT h3_try_polyfillash3string('Not-a-valid-rep', 2)
null
-- Resolution is out of range.
> SELECT h3_try_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