Udostępnij przez


Funkcja h3_try_polyfillash3string

Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 11.3 LTS i nowsze

Zachowuje się tak samo jak h3_polyfillash3string, z tą różnicą, że wartość NULL jest zwracana zamiast błędu, jeśli pierwszy argument jest nieprawidłowy. Dokładniej, zwraca tablicę identyfikatorów komórek H3 (reprezentowanych jako CIĄG), odpowiadających sześciokątom lub pentagonom o określonej rozdzielczości, które są zawarte w podanym obszarze geograficznym.

Składnia

h3_try_polyfillash3string ( geographyExpr, resolutionExpr )

Argumenty

  • geographyExpr: wyrażenie BINARY lub STRING reprezentujące geografię obszarową (wielokąt lub wielopolygon) w formacie WKB, WKT lub GeoJSON. Lokalizacja geograficzna powinna mieć współrzędne geograficzne długości i szerokości w stopniach, które odnoszą się do systemu odniesienia współrzędnych WGS84.
  • resolutionExpr: Wyrażenie INT, którego wartość powinna należeć do przedziału od 0 do 15 włącznie, określając rozdzielczość komórek H3.

Zwraca

Tablica wartości STRING odpowiadających identyfikatorom komórek H3 określonej rozdzielczości, które znajdują się w obszarze geograficznym wejściowych danych przestrzennych.

Funkcja zwraca wartość NULL, jeśli dowolne z wyrażeń wejściowych ma wartość NULL. Jeśli pierwszym argumentem wejściowym jest typ BINARY, wartość wejściowa powinna być opisana jako WKB dla wielokąta lub wielopoligonu. Jeśli pierwszym argumentem wejściowym jest typ STRING, wartość wejściowa powinna być albo w opisie WKT albo w formacie GeoJSON opisu wielokąta lub wielopoligonu. Wymiar wielokąta wejściowego lub wielopolygonu może być 2D, 3DZ, 3DM lub 4D. Funkcja zwraca wartość NULL, jeśli pierwszy argument odpowiada nieprawidłowemu kodowi WKB, WKT lub GeoJSON albo nie reprezentuje wielokąta ani multipolygonu.

Warunki błędu

Przykłady

-- Simple example where the input is a triangle in WKT format.
> SELECT h3_try_polyfillash3string('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-122.4194 37.7749))', 2);
  [82268ffffffffff,82269ffffffffff,822987fffffffff,8226e7fffffffff,822997fffffffff,8226f7fffffffff,822657fffffffff,8229affffffffff]

-- Simple example where the input is a triangle in hexadecimal WKB format.
> SELECT h3_try_polyfillash3string(unhex('0103000000010000000400000050fc1873d79a5ec0d0d556ec2fe342404182e2c7988f5dc0f46c567dae064140aaf1d24d628052c05e4bc8073d5b444050fc1873d79a5ec0d0d556ec2fe34240'), 2);
  [82268ffffffffff,82269ffffffffff,822987fffffffff,8226e7fffffffff,822997fffffffff,8226f7fffffffff,822657fffffffff,8229affffffffff]

-- The input is invalid.
> SELECT h3_try_polyfillash3string('Not-a-valid-rep', 2);
  null

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