h3_boundaryasgeojson 函数

适用于:check marked yes Databricks SQL check marked yes Databricks Runtime 11.2 及更高版本

以 GeoJSON 格式返回输入 H3 单元格的多边形边界。

语法

h3_boundaryasgeojson ( h3CellIdExpr )

参数

  • h3CellIdExpr:表示 H3 单元格 ID 的 BIGINT 表达式或十六进制 STRING 表达式。

返回

STRING 类型的值,表示输入 H3 单元格的多边形边界(采用 GeoJSON 格式)。

如果输入表达式为 NULL,则该函数返回 NULL。 该函数对输入参数是否为有效的 H3 单元格 ID 进行部分验证。 有效 H3 ID 的必要不充分条件是其值介于 0x08001fffffffffff0x08ff3b6db6db6db6 之间。 如果输入单元格 ID 不是有效的单元格 ID,则表示该函数的行为未定义。

错误条件

  • 如果 h3CellIdExpr 是无法转换为 BIGINT 的 STRING 或对应于小于 0x08001fffffffffff 或大于 0x08ff3b6db6db6db6 的 BIGINT 值,则该函数返回 H3_INVALID_CELL_ID

示例

-- Input a BIGINT representing a hexagonal cell.
> SELECT h3_boundaryasgeojson(599686042433355775)
  {"type":"Polygon","coordinates":[[[-121.91508032706,37.271355866732],[-121.86222328902,37.353926450852],[-121.9235499963,37.428341186094],[-122.03773496427 37.420128677678],[-122.09042892904,37.337556084353],[-122.02910130919,37.263197974618],[-121.91508032706,37.271355866732]]]}

-- Input a STRING representing a pentagonal cell.
> SELECT h3_boundaryasgeojson('8009fffffffffff')
  {"type":"Polygon","coordinates":[[[-10.444977544778,63.095054077525],[5.5236465492903,55.706768465152],[25.082722326708,58.401544870353],[31.831280499087,68.92995788194],[0.32561035194326,73.310223685444],[-10.444977544778,63.095054077525]]]}

-- Input is an invalid H3 cell ID.
> SELECT h3_boundaryasgeojson(0)
  [H3_INVALID_CELL_ID] 0 is not a valid H3 cell ID