Udostępnij za pośrednictwem


Funkcja h3_pointash3

Zwraca identyfikator komórki H3 (jako BIGINT) odpowiadający podanemu punktowi w określonej rozdzielczości.

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

Składnia

h3_pointash3 ( geographyExpr, resolutionExpr )

Argumenty

  • geographyExpr: wyrażenie BINARNE lub CIĄG reprezentujące lokalizację geograficzną punktu w plikach WKB, WKT lub GeoJSON. Oczekuje się, że lokalizacja geograficzna ma współrzędne długości i szerokości geograficznej w stopniach odwołujących się do systemu odniesienia współrzędnych WGS84 .
  • resolutionExpr: Wyrażenie INT, którego wartość ma być między 0 i 15 inkluzywna, określając rozdzielczość identyfikatora komórki H3.

Zwraca

Zwraca identyfikator komórki H3 (jako BIGINT) odpowiadający podanemu punktowi w określonej rozdzielczości.

Funkcja zwraca wartość NULL, jeśli dowolne z wyrażeń wejściowych ma wartość NULL. Jeśli pierwszy argument wejściowy jest typu BINARY, wartość wejściowa powinna być opisem punktu WKB . Jeśli pierwszy argument wejściowy jest typu STRING, wartość wejściowa powinna być albo WKT](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry) lub opisem GeoJSON punktu. Wymiar punktu wejściowego może być 2D, 3DZ, 3DM lub 4D. Wartości długości i szerokości geograficznej w opisie WKB, WKT lub GeoJSON powinny znajdować się w systemie odniesienia współrzędnych usługi WGS84. Funkcja zwraca wartość NULL, jeśli pierwsze dane wejściowe odpowiadają pustemu punktowi.

Warunki błędu

  • Jeśli geographyExpr jest typu BINARY, a wartość jest nieprawidłowa WKB lub nie reprezentuje punktu, funkcja zwraca WKB_PARSE_ERROR.
  • Jeśli geographyExpr jest typu STRING, a wartość jest nieprawidłową wartością WKT lub nie reprezentuje punktu, funkcja zwraca WKT_PARSE_ERROR.
  • Jeśli geographyExpr jest typu STRING, a wartość jest nieprawidłową wartością GeoJSON lub nie reprezentuje punktu, funkcja zwraca GEOJSON_PARSE_ERROR.
  • Jeśli resolutionExpr funkcja jest mniejsza lub większa niż 150 , funkcja zwraca H3_INVALID_RESOLUTION_VALUE.

Przykłady

-- Simple example.
> SELECT h3_pointash3('POINT(100 45)', 6)
  604116085645508607

-- The H3 cell ID for the Golden Gate Bridge at resolution 13.
> SELECT h3_pointash3('POINT(-122.4783 37.8199)', 13)
  635714569676958015

-- The function returns NULL if the input is the empty point.
> SELECT h3_pointash3('{"type":"Point","coordinates":[]}', 15)
  null

-- Feeding a multipoint in WKT format instead of a point.
> SELECT h3_pointash3('MULTIPOINT(100 45)', 6)
  [WKT_PARSE_ERROR] Error parsing WKT: Invalid or unsupported type 'MULTIPOINT' at position 1

-- Feeding an invalid GeoJSON string ("type" value is not correct).
> SELECT h3_pointash3('{"type":"POINT","coordinates":[]}', 15)
  [GEOJSON_PARSE_ERROR] Error parsing GeoJSON: Invalid or unsupported type '"POINT"' at position 9

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

-- Resolution is out of range.
> SELECT h3_pointash3('POINT(-122.4783 37.8199)', 16)
  [H3_INVALID_RESOLUTION_VALUE] H3 resolution 16 must be between 0 and 15, inclusive