Freigeben über


h3_try_polyfillash3-Funktion

Gilt für: Häkchen ja Databricks SQL Häkchen gesetzt ja Databricks Runtime 11.3 LTS und höher

Verhält sich genauso wie h3_polyfillash3, mit der Ausnahme, dass „NULL“ anstelle eines Fehlers zurückgegeben wird, wenn das erste Argument ungültig ist. Genauer gesagt, gibt es ein ARRAY von H3-Zellen-IDs (dargestellt als BIGINT) zurück, die Sechsecken oder Fünfecken der angegebenen Auflösung entsprechen, die in der Eingabebereichsgeografie enthalten sind.

Syntax

h3_try_polyfillash3 ( geographyExpr, resolutionExpr )

Argumente

  • geographyExpr: Ein BINARY- oder STRING-Ausdruck, der eine geografische Fläche (Polygon oder Multipolygon) in WKB, WKT oder GeoJSON darstellt. Für die Geographie werden Längen- und Breitengrade erwartet, die auf WGS84-Koordinatenreferenzsystem verweisen.
  • resolutionExpr: Ein INT-Ausdruck, für den ein Wert zwischen 0 und einschließlich 15 erwartet wird, der die Auflösung für die H3-Zellen angibt.

Gibt zurück

Ein ARRAY von BIGINT-Werten, die den H3-Zellen-IDs der angegebenen Auflösung entsprechen, die in der Eingabegebietsgeographie enthalten sind.

Die Funktion gibt „NULL“ zurück, wenn einer der Eingabeausdrücke „NULL“ ist. Wenn das erste Eingabeargument vom Typ BINARY ist, wird erwartet, dass der Eingabewert die WKB-Beschreibung eines Polygons oder eines Multipolygons ist. Wenn das erste Eingabeargument vom Typ STRING ist, wird der Eingabewert entweder der WKT oder die GeoJSON-Beschreibung eines Polygons oder eines Multipolygons sein. Die Dimension des Eingabepolygons oder -multipolygons kann 2D, 3DZ, 3DM oder 4D sein. Die Funktion gibt NULL zurück, wenn das erste Argument einem ungültigen WKB, WKT oder GeoJSON entspricht oder kein Polygon oder Multipolygon darstellt.

Fehlerbedingungen

Beispiele

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