Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
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 BINARY- 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 in Grad erwartet, die sich auf das WGS84-Koordinatenreferenzsystem beziehen. -
resolutionExpr: Ein INT-Ausdruck mit einem Wert zwischen0und einschließlich15, der die Auflösung für die H3-Zellen-IDs angibt.
Rückgabe
Ein Array von String-Werten, die der minimalen Menge von H3-Zellen-IDs in der angegebenen Auflösung entsprechen und 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
geographyExprvom 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
geographyExprvom Typ STRING ist und der Wert entweder ein ungültiger WKT ist oder keine LineString, Polygon, MultiLineString oder MultiPolygon darstellt, gibt die Funktion den Fehler WKT_PARSE_ERROR zurück. - Wenn
geographyExprvom 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
resolutionExprkleiner als0oder größer als15ist, 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