Share via


Funktionen h3_try_polyfillash3

Gäller för:markerad ja Databricks SQL markerad ja Databricks Runtime 11.3 LTS och senare

Fungerar på samma sätt som h3_polyfillash3, 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 BIGINT) som motsvarar sexhörningar eller pentagoner, av den angivna upplösningen, som ingår i indatans arealgeografi.

Syntax

h3_try_polyfillash3 ( 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 BIGINT-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

Exempel

-- 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