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 eine ARRAY von H3-Zell-IDs (dargestellt als BIGINT) entsprechend Sechsecken oder Fünfecken der angegebenen Auflösung zurück, deren Mittelpunkte in der Eingabe-Arealgeografie enthalten sind.

Syntax

h3_try_polyfillash3 ( geographyExpr, resolutionExpr )

Argumente

  • geographyExpr: Ein BINARY oder STRING Ausdruck, der eine Arealgeografie (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, dessen Wert zwischen 0 und 15 einschließlich erwartet wird und die Auflösung für die H3-Zellen angibt.

Gibt zurück

Ein ARRAY Wert BIGINT , der den H3-Zell-IDs der angegebenen Auflösung entspricht, deren Schwerpunkte in der Eingabebereichsgeografie enthalten sind.

Die Funktion gibt zurück NULL , wenn einer der Eingabeausdrücke lautet NULL. Wenn das erste Eingabeargument vom Typ BINARYist, wird erwartet, dass der Eingabewert die WKB-Beschreibung eines Polygons oder eines Multipolygons ist. Wenn das erste Eingabeargument vom Typ STRINGist, wird erwartet, dass der Eingabewert entweder das WKT oder die GeoJSON-Beschreibung eines Polygons oder eines Multipolygons ist. Die Dimension des Eingabepolygons oder -multipolygons kann 2D, 3DZ, 3DM oder 4D sein. Die Funktion gibt zurück NULL , wenn das erste Argument einer ungültigen WKB, WKT oder GeoJSON entspricht oder kein Polygon oder ein 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