类别:

地理空间函数

H3_COVERAGE

返回 IDs(作为 INTEGER 值)的 ARRAY,其标识完全覆盖某个形状(由 GEOGRAPHY 对象指定)的 H3 单元格的最小集合。

另请参阅:

H3_COVERAGE_STRINGSH3_POLYGON_TO_CELLS

语法

H3_COVERAGE( <geography_expression> , <target_resolution> )
Copy

实参

geography_expression

GEOGRAPHY 对象。

target_resolution

介于 0 和 15 之间(含)的 INTEGER,指定要用于返回的 H3 单元格的 H3 分辨率 (https://h3geo.org/docs/core-library/restable)。

指定其他任何 INTEGER 值都会导致错误。

返回

返回 INTEGER 值的 ARRAY,适用于已完全覆盖指定输入形状的最小 H3 单元格集的 IDs。

使用说明

  • 该函数使用球面近似法,此方法将地球表面上的点视为由圆弧而不是直线来连接。如果需要使用平面近似法,请改用 H3_POLYGON_TO_CELLS

  • 如果单元格的边界与输入形状相交,则该单元格将包含在结果集中。

  • FLATTEN 应用于函数返回的 ARRAY 时,将每个值显式 转换 为整数。

示例

以下示例返回一个 IDs 的 ARRAY,用于标识完全覆盖指定多边形的最小 H3 单元格集。

SELECT H3_COVERAGE(
  TO_GEOGRAPHY(
    'POLYGON((-122.481889 37.826683,-122.479487 37.808548,-122.474150 37.808904,-122.476510 37.826935,-122.481889 37.826683))'),
  8) AS set_of_h3_cells_covering_polygon;
Copy
+----------------------------------+
| SET_OF_H3_CELLS_COVERING_POLYGON |
|----------------------------------|
| [                                |
|   613196571542028287,            |
|   613196571548319743,            |
|   613196571598651391,            |
|   613196571539931135,            |
|   613196571560902655,            |
|   613196571550416895             |
| ]                                |
+----------------------------------+
语言: 中文