Поделиться через


Функция h3_pointash3string

Возвращает идентификатор ячейки H3 (в виде СТРОКИ), соответствующий предоставленной точке в указанном разрешении.

Область применения:проверка помечены да Databricks SQL preview проверка помечены да Databricks Runtime 11.3 LTS и выше

Синтаксис

h3_pointash3string ( geographyExpr, resolutionExpr )

Аргументы

  • geographyExpr: двоичное или СТРОКовое выражение, представляющее географию точек в W КБ, WKT или GeoJSON. Ожидается, что география будет иметь координаты долготы и широты в градусах в системе координат WGS84.
  • resolutionExpr: выражение INT, значение которого должно находиться между 0 и 15 включающими, указывая разрешение для идентификатора ячейки H3.

Возвраты

Возвращает идентификатор ячейки H3 (в виде СТРОКИ), соответствующий предоставленной точке в указанном разрешении.

Функция возвращает значение NULL, если любое из входных выражений равно NULL. Если первый входной аргумент имеет тип BINARY, входное значение должно быть W КБ описание точки. Если первый входной аргумент имеет тип STRING, входное значение, как ожидается, будет либо WKT](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry), либо описание GeoJSON точки. Измерение входной точки может быть 2D, 3DZ, 3DM или 4D. Ожидается, что значения долготы и широты в описании W КБ, WKT или GeoJSON будут находиться в эталонной системе координат WGS84. Функция возвращает значение NULL, если первые входные данные соответствуют пустой точке.

Условия ошибок

  • Если geographyExpr имеет тип BINARY и значение является недопустимым W КБ или не представляет точку, функция возвращает W КБ_PARSE_ERROR.
  • Если geographyExpr имеет тип STRING и значение является недопустимым WKT или не представляет точку, функция возвращает WKT_PARSE_ERROR.
  • Если geographyExpr имеет тип STRING и значение является недопустимым GeoJSON или не представляет точку, функция возвращает GEOJSON_PARSE_ERROR.
  • Если значение resolutionExpr меньше 0 или больше 15, функция возвращает H3_INVALID_RESOLUTION_VALUE.

Примеры

-- Simple example.
> SELECT h3_pointash3string('POINT(100 45)', 6)
  86240610fffffff

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

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

-- Feeding a multipoint in WKT format instead of a point.
> SELECT h3_pointash3string('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_pointash3string('{"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_pointash3string(unhex('0201000000516b9a779c9e5ec0c5feb27bf2e84240'), 2)
  [WKB_PARSE_ERROR] Error parsing WKB: Invalid byte order 2 at position 1

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