Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Funkcja
Dotyczy:
Databricks SQL
Databricks Runtime 13.3 LTS i nowsze
Zwraca tablicę wartości STRING reprezentujących identyfikatory komórek H3. Te wartości odpowiadają minimalnemu zestawowi sześciokątów lub pentagonów określonej rozdzielczości, która w pełni obejmuje liniową lub arealną geografię wejściową.
Składnia
h3_coverash3 ( geographyExpr, resolutionExpr )
Argumenty
-
geographyExpr: Wyrażenie BINARY lub STRING reprezentujące liniową (linestring lub multilinestring) lub arealną (wielokątną lub wielopolygonową) geografię w plikach WKB, WKT lub GeoJSON. Oczekuje się, że geografia ma współrzędne długości i szerokości geograficznej w stopniach odnoszących się do systemu odniesienia współrzędnych WGS84. -
resolutionExpr: Wyrażenie INT z wartością między0i15inkluzywną określającą rozdzielczość identyfikatorów komórek H3.
Zwraca
Tablica ciągów znaków odpowiadających minimalnemu zestawowi identyfikatorów komórek H3 o określonej rozdzielczości, które w pełni pokrywają linearne lub obszarowe dane geograficzne.
Funkcja zwraca NULL, jeśli któreś z wyrażeń wejściowych jest NULL.
Jeśli pierwszym argumentem wejściowym jest typ BINARY, wartość wejściowa musi być opisem WKB linii, wielokąta, wielolinii lub wielokąta.
Jeśli pierwszy argument wejściowy jest typu STRING, wartość wejściowa musi być opisem w postaci WKT lub GeoJSON ciągu linii, wielokąta, wieloliniowego lub wielokątnego.
Wymiar linii wejściowej, wielokąta, wieloliniowego lub wielobiegunowego może być 2D, 3DZ, 3DM lub 4D.
Warunki błędu
- Jeśli
geographyExprjest typu BINARY, a wartość jest nieprawidłowa WKB lub nie reprezentuje ciągu liniowego, wielokąta, wieloliniowego lub wielobiegunowego, funkcja zwraca WKB_PARSE_ERROR. - Jeśli
geographyExprjest typu STRING, a wartość jest nieprawidłową wartością WKT lub nie reprezentuje ciągu liniowego, wielokąta, wieloliniowego lub wielobiegunowego, funkcja zwraca WKT_PARSE_ERROR. - Jeśli
geographyExprjest typu STRING, a wartość jest nieprawidłową wartością GeoJSON lub nie reprezentuje ciągu liniowego, wielokąta, wieloliniowego lub wielobiegunowego, funkcja zwraca GEOJSON_PARSE_ERROR. - Jeśli
resolutionExprjest mniejsza niż0lub większa niż15, funkcja zwraca H3_INVALID_RESOLUTION_VALUE.
Przykłady
-- 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