Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция
Применяется к: Databricks SQL
Databricks Runtime 16.3 и выше
Эта функция ведет себя так же, как h3_coverash3, но возвращается NULL
вместо ошибки, если первый аргумент недопустим. Он возвращает ARRAY
со значениями BIGINT
, которые представляют идентификаторы ячеек H3. Эти значения соответствуют минимальному набору шестиугольников или пятиугольников при заданном разрешении, которые полностью покрывают входную линейную или площадную географию.
Синтаксис
h3_try_coverash3 ( geographyExpr, resolutionExpr )
Аргументы
-
geographyExpr
: ВыражениеBINARY
илиSTRING
, представляющее линейную (linestring или multilinestring) или пространственную (polygon или multipolygon) географию в формате WKB, WKT или GeoJSON. География должна иметь координаты долготы и широты в градусах, ссылающихся на эталонную систему координат WGS84 . -
resolutionExpr
: ВыражениеINT
, со значением от0
до15
включительно, указывающее разрешение для идентификаторов ячеек H3.
Возвраты
ARRAY
значений BIGINT
, соответствующих минимальному набору шестиугольников или пятиугольников на заданном разрешении, которые полностью покрывают входную линейную или площадную географию.
Функция возвращается NULL
, если какой-либо из входных выражений имеет значение NULL
.
Если первый входной аргумент имеет тип BINARY
, входное значение должно быть описанием многоугольника или многомногоугольника в формате WKB.
Если первый входной аргумент имеет тип STRING
, то значение должно быть либо описанием WKT, либо GeoJSON для линии, полигона, мультилинии или мультиполигона.
Измерение входной линейной строки, многоугольника, многолинейной строки или сложного многоугольника может быть 2D, 3DZ, 3DM или 4D.
Функция возвращает NULL
, если первый аргумент является некорректным WKB, WKT или GeoJSON или не представляет линии, полигона, многолинейной цепочки или многократного полигона.
Условия ошибок
- Если значение
resolutionExpr
меньше0
или больше15
, функция возвращает H3_INVALID_RESOLUTION_VALUE.
Примеры
-- Simple example where the input is a triangle in WKT format.
> SELECT h3_try_coverash3('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-122.4194 37.7749))', 0)
[577164439745200127, 577199624117288959, 577234808489377791, 577762574070710271]
-- Simple example where the input is a triangle in hexadecimal WKB format.
> SELECT h3_try_coverash3(unhex('0103000000010000000400000050fc1873d79a5ec0d0d556ec2fe342404182e2c7988f5dc0f46c567dae064140aaf1d24d628052c05e4bc8073d5b444050fc1873d79a5ec0d0d556ec2fe34240'), 0)
[577164439745200127, 577199624117288959, 577234808489377791, 577762574070710271]
-- Simple example where the input is a linestring in GeoJSON format.
SELECT h3_try_coverash3('{"type":"LineString","coordinates":[[-122.4194,37.7749],[-118.2437,34.0522],[-74.0060,40.7128]]}', 1)
[582248581512036351, 581698825698148351, 581707621791170559, 581716417884192767, 581641651093503999, 581650447186526207, 581672437419081727]
-- Feeding an empty multipoint in GeoJSON format (as opposed to a linestring, polygon, multilinestring, or multipolygon).
> SELECT h3_try_coverash3('{"type":"MultiPoint","coordinates":[]}', 2)
null
-- Feeding an invalid WKB (invalid endianness value)
> SELECT h3_try_coverash3(unhex('020700000000'), 2)
null
-- Feeding an invalid polygon in WKT (polygon is not closed)
> SELECT h3_try_coverash3('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_coverash3('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