Freigeben über


h3_coverash3string-Funktion

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

Gibt ein ARRAY mit STRING-Werten zurück, die H3-Zellen-IDs darstellen. Diese Werte entsprechen der minimalen Menge von Sechsecken oder Fünfecken mit der angegebenen Auflösung, die die eingegebene lineare oder flächige Geografie vollständig abdecken.

Syntax

h3_coverash3 ( geographyExpr, resolutionExpr )

Argumente

  • geographyExpr: Ein BINÄR- oder STRING-Ausdruck, der eine lineare (Linienzeichenfolge oder Multi-Linienzeichenfolge) oder 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 mit einem Wert zwischen 0 und einschließlich 15, der die Auflösung für die H3-Zellen-IDs angibt.

Gibt zurück

Ein ARRAY mit STRING-Werten, die der minimalen Menge von H3-Zellen-IDs mit der angegebenen Auflösung entsprechen, die die eingegebene lineare oder flächige Geografie vollständig abdecken.

Die Funktion gibt NULL zurück, wenn einer der Eingabeausdrücke NULL ist. Wenn das erste Eingabeargument vom Typ BINÄR ist, muss der Eingabewert die WKB-Beschreibung einer Linienzeichenfolge, Multilinienzeichenfolge, eines Polygons oder eines Multipolygons sein. Wenn das erste Eingabeargument vom Typ STRING ist, muss der Eingabewert entweder der WKT oder die GeoJSON-Beschreibung einer Linienzeichenfolge, eines Polygons oder eines Multipolygons sein. Die Dimension der Eingabelinienzeichenfolge -multilinienzeichenfolge, des Eingabepolygons oder -multipolygons kann 2D, 3DZ, 3DM oder 4D sein.

Fehlerbedingungen

  • Wenn geographyExpr vom Typ BINÄR ist und der Wert entweder ein ungültiger WKB ist oder keine Linienzeichenfolge, Multilinienzeichenfolge, kein Polygon oder Multipolygon darstellt, gibt die Funktion den Fehler WKB_PARSE_ERROR zurück.
  • Wenn geographyExpr vom Typ STRING ist und der Wert entweder ein ungültiger WKT ist oder keine Linienzeichenfolge, Multilinienzeichenfolge, kein Polygon oder Multipolygon darstellt, gibt die Funktion den Fehler WKT_PARSE_ERROR zurück.
  • Wenn geographyExpr vom Typ STRING ist und der Wert entweder ein ungültiger GeoJSON ist oder keine Linienzeichenfolge, Multilinienzeichenfolge, kein Polygon oder Multipolygon darstellt, gibt die Funktion den Fehler GEOJSON_PARSE_ERROR zurück.
  • Wenn resolutionExpr kleiner als 0 oder größer als 15 ist, gibt die Funktion H3_INVALID_RESOLUTION_VALUE zurück.

Beispiele

-- Simple example where the input is a triangle in WKT format.
> SELECT h3_coverash3string('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-122.4194 37.7749))', 0)
  [8027fffffffffff,8029fffffffffff,802bfffffffffff,8049fffffffffff]

-- Simple example where the input is a triangle in hexadecimal WKB format.
> SELECT h3_coverash3string(unhex('0103000000010000000400000050fc1873d79a5ec0d0d556ec2fe342404182e2c7988f5dc0f46c567dae064140aaf1d24d628052c05e4bc8073d5b444050fc1873d79a5ec0d0d556ec2fe34240'), 0)
  [8027fffffffffff,8029fffffffffff,802bfffffffffff,8049fffffffffff]

-- Simple example where the input is a linestring in GeoJSON format.
SELECT h3_coverash3string('{"type":"LineString","coordinates":[[-122.4194,37.7749],[-118.2437,34.0522],[-74.0060,40.7128]]}', 1)
  [8148fffffffffff, 8129bffffffffff, 812a3ffffffffff, 812abffffffffff, 81267ffffffffff, 8126fffffffffff, 81283ffffffffff]

-- Feeding an empty multipoint in GeoJSON format (as opposed to a linestring, polygon, multilinestring, or multipolygon).
> SELECT h3_coverash3string('{"type":"MultiPoint","coordinates":[]}', 2)
  [GEOJSON_PARSE_ERROR] Error parsing GeoJSON: Invalid or unsupported type '"MultiPoint"' at position 9

-- Feeding an invalid WKB (invalid endianness value)
> SELECT h3_coverash3string(unhex('020700000000'), 2)
  [WKB_PARSE_ERROR] Error parsing WKB: Invalid byte order 2 at position 1

-- Feeding an invalid polygon in WKT (polygon is not closed)
> SELECT h3_coverash3string('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-74.0060 40.7128))', 2)
  [WKT_PARSE_ERROR] Error parsing WKT: Found non-closed ring at position 80

-- Resolution is out of range.
> SELECT h3_coverash3string('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