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 16.3 lub nowszej
Ta funkcja zachowuje się tak samo jak h3_coverash3string, ale zwraca NULL zamiast błędu, jeśli pierwszy argument jest nieprawidłowy. Zwraca ARRAY wartości BIGINT reprezentujące identyfikatory komórek H3. Te wartości odpowiadają minimalnemu zestawowi sześciokątów lub pentagonów w określonej rozdzielczości, która w pełni obejmuje liniową lub arealną geografię wejściową.
Składnia
h3_try_coverash3string ( geographyExpr, resolutionExpr )
Argumenty (w programowaniu)
-
geographyExpr: wyrażenieBINARYlubSTRINGreprezentujące geografię liniową (linię lub wielolinię) lub powierzchniową (poligon lub wielokąt) w formacie WKB, WKT lub GeoJSON. Oczekuje się, że geografia ma współrzędne długości i szerokości geograficznej w stopniach, które odnoszą się do systemu odniesienia współrzędnych WGS84. -
resolutionExprINT: Wyrażenie o wartości między0a15włącznie, określające rozdzielczość identyfikatorów komórek H3.
Zwraca
Zbiór wartości ARRAYBIGINT odpowiadający minimalnemu zestawowi sześciokątów lub pentagonów w określonej rozdzielczości, które w pełni obejmują liniową lub arealną geografię wejściową.
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 przedstawiającym linię, wielokąt, wielolinię lub wielokąt.
Jeśli pierwszy argument wejściowy jest typu STRING, wartość wejściowa musi być w formacie WKT lub GeoJSON i opisywać linię łamaną, poligon, linię łamaną złożoną lub multipolygon.
Wymiar linii wejściowej, wielokąta, wieloliniowej lub wielokąta może być 2D, 3DZ, 3DM lub 4D.
Funkcja zwraca NULL , jeśli pierwszy argument odpowiada nieprawidłowemu kodowi WKB, WKT lub GeoJSON lub nie reprezentuje ciągu liniowego, wielokąta, wieloliniowego lub wielobiegunowego.
Warunki błędu
- Jeśli
resolutionExprjest mniejsze od0lub większe od15, 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_try_coverash3string('{"type":"MultiPoint","coordinates":[]}', 2);
null
-- Feeding an invalid WKB (invalid endianness value)
> SELECT h3_try_coverash3string(unhex('020700000000'), 2);
null
-- Feeding an invalid polygon in WKT (polygon is not closed)
> SELECT h3_try_coverash3string('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-74.0060 40.7128))', 2);
null
-- Resolution is out of range.
> SELECT h3_try_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