类别:

地理空间函数

H3_LATLNG_TO_CELL_STRING

以十六进制格式返回给定纬度、经度和分辨率下的 H3 单元格 ID (作为 VARCHAR 值)。

另请参阅:

H3_LATLNG_TO_CELL

语法

H3_LATLNG_TO_CELL_STRING( <latitude> , <longitude> , <target_resolution> )
Copy

实参

latitude

表示纬度的 FLOAT。

超出标准纬度范围的值将调整到 [-90,90] 范围。

longitude

表示经度的 FLOAT。

超出标准经度范围的值将调整到 [-180,180] 范围。

target_resolution

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

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

返回

返回与给定位置和分辨率的十六进制 H3 单元格 ID 相对应的 VARCHAR 值。

使用说明

  • 为任何输入实参指定 NaN 或 Inf 值都会导致错误。

示例

以下示例以分辨率 8 返回勃兰登堡门的十六进制 H3 单元格 ID。

SELECT H3_LATLNG_TO_CELL_STRING(52.516262, 13.377704, 8);
Copy
+---------------------------------------------------+
| H3_LATLNG_TO_CELL_STRING(52.516262, 13.377704, 8) |
|---------------------------------------------------|
|  881F1D4887FFFFF                                  |
+---------------------------------------------------+

以下示例指定一个超出传统经度范围(-180 到 180)的 longitude 值 (373.377704)。该函数将此值解释为 ``13.377704``(373.377704 模 180)。

SELECT H3_LATLNG_TO_CELL_STRING(52.516262, 373.377704, 8);
Copy
+---------------------------------------------------+
| H3_LATLNG_TO_CELL_STRING(52.516262, 13.377704, 8) |
|---------------------------------------------------|
|  881F1D4887FFFFF                                  |
+---------------------------------------------------+

下面的示例演示您不能指定 0 到 15 之外的分辨率。

SELECT H3_LATLNG_TO_CELL_STRING(52.516262, 373.377704, 18);
Copy
100410 (P0000): Invalid H3 resolution value: 18. Resolution must be between 0 (coarsest) and 15 (finest).
语言: 中文