Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция
Относится к: Databricks SQL
Databricks Runtime 16.3 и выше
Эта функция ведет себя так же, как h3_tessellateaswkb, но возвращает NULL
, а не ошибку, если функция не создает тесселяцию. Он возвращаеттесселяцию входной географии с помощью ячеек H3 в указанном разрешении. Тесселлация представлена ARRAY
структурой, каждая из которых представляет элемент тесселяции. Каждый элемент тесселяции состоит из идентификатора ячейки H3 (BIGINT
), логическое значение, указывающее, полностью ли входная география охватывает ячейку, и BINARY
значение, соответствующее описанию WKB пересечения входной географии с ячейкой H3.
Синтаксис
h3_try_tessellateaswkb ( geographyExpr, resolutionExpr )
Аргументы
-
geographyExpr
: илиBINARY
STRING
выражение, представляющее географию в WKB, WKT или GeoJSON. Ожидается, что география будет иметь координаты долготы и широты в градусах в системе координат WGS84. -
resolutionExpr
: ВыражениеINT
, значением которого является диапазон от0
до15
включительно, определяющее разрешение для идентификаторов ячеек H3.
Возвраты
Именованные структуры ARRAY
с тремя полями типа BIGINT
, BOOLEAN
и BINARY
, называемыми cellid
, core
и chip
соответственно, представляющие тесселяцию входного географического региона ячейками H3 на указанном уровне детализации.
Первое поле структуры — это идентификатор ячейки H3, представленный как .BIGINT
Второе поле — это BOOLEAN
значение, указывающее, является ли ячейка основной ячейкой. Основная ячейка — это ячейка, которая полностью содержится в входной географической области. Его пересечение с входными данными является полной ячейкой. Значение true для основных ячеек и false в противном случае. Третье поле — это BINARY
значение, представляющее описание WKB географической области, которая является пересечением входной географической области и ячейки H3. Возвращаемые ячейки H3 вместе образуют минимальный набор покрытия входного географического региона. Географические области, соответствующие возвращаемым описаниям WKB, вместе образуют тесселлацию (декомпозицию) входной географической области.
Функция возвращается NULL
, если какой-либо из входных выражений имеет значение NULL
.
Если первый входной аргумент имеет тип BINARY
, то ожидается, что входное значение будет описанием WKB точки, линийного сегмента, многоугольника, многоточия, многолинейного сегмента или многомногоугольника.
Если первый входной аргумент имеет тип STRING
, ожидается, что входное значение будет либо WKT, либо описанием GeoJSON точки, линии, многоугольника, многоточечной, многолинейной, или многополигональной.
Измерение области ввода может быть 2D, 3DZ, 3DM или 4D.
Функция возвращает NULL
, если первый аргумент соответствует недопустимому WKB, WKT или GeoJSON или не представляет точку, линию, многоугольник, многоточечный объект, многострочный объект или многоугольный объект.
Функция возвращает NULL
, если не удается создать тесселяцию.
Условия ошибок
- Если значение
resolutionExpr
меньше0
или больше15
, функция возвращает H3_INVALID_RESOLUTION_VALUE.
Примеры
> SELECT h3_h3tostring(cellid), core, hex(chip) FROM (SELECT inline(h3_tessellateaswkb('MULTIPOINT(20 0,20 10,40 30)', 0))) ORDER BY 1
802dfffffffffff false 010100000000000000000044400000000000003E40
806bfffffffffff false 010400000002000000010100000000000000000034400000000000000000010100000000000000000034400000000000002440
-- Feeding an empty geometry collection in GeoJSON format (geometry collections are not supported).
> SELECT h3_tessellateaswkb('{"type":"GeometryCollection","geometries":[]}', 2)
null
-- Feeding an invalid WKB (invalid endianness value)
> SELECT h3_tessellateaswkb(unhex('020700000000'), 2)
null
-- Feeding an invalid polygon in WKT (polygon is not closed)
> SELECT h3_tessellateaswkb('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_tessellateaswkb('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 SQLSTATE: 22023