h3_pointash3
函式
傳回與指定解析度上所提供點對應的 H3 單元格標識碼(以 BIGINT 表示)。
適用於: Databricks SQL 預覽 Databricks Runtime 11.3 LTS 和更新版本
語法
h3_pointash3 ( geographyExpr, resolutionExpr )
引數
geographyExpr
:BINARY 或 STRING 運算式,代表 WKB、WKT 或 GeoJSON 中的點地理位置。 地理位置預期會有參考 WGS84 座標參考系統的經度和緯度座標。resolutionExpr
:INT 運算式,其值預期介於 和15
內含之間0
,並指定 H3 單元格標識碼的解析度。
傳回
傳回與指定解析度上所提供點對應的 H3 單元格標識碼(以 BIGINT 表示)。
如果任一輸入表達式為 NULL,此函式會傳回 NULL。 如果第一個輸入自變數的類型為 BINARY,則輸入值必須是 點的 WKB 描述。 如果第一個輸入自變數的類型為 STRING,則輸入值必須是 WKT](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry) 或 某個點的 GeoJSON 描述。 輸入點的維度可以是 2D、3DZ、3DM 或 4D。 WKB、WKT 或 GeoJSON 描述中的經度和緯度值應該位於 WGS84 座標參考系統中。 如果第一個輸入對應至空點,函式會傳回NULL。
錯誤條件
- 如果
geographyExpr
類型為 BINARY,且值是無效的 WKB 或不代表點,則函式會傳回WKB_PARSE_ERROR。 - 如果
geographyExpr
類型為 STRING,且值是無效的 WKT 或不代表點,則函式會傳回WKT_PARSE_ERROR。 - 如果
geographyExpr
類型為 STRING,且值為無效的 GeoJSON 或不代表點,則函式會傳回GEOJSON_PARSE_ERROR。 - 如果
resolutionExpr
小於或大於15
,則函式會傳回H3_INVALID_RESOLUTION_VALUE0
。
範例
-- Simple example.
> SELECT h3_pointash3('POINT(100 45)', 6)
604116085645508607
-- The H3 cell ID for the Golden Gate Bridge at resolution 13.
> SELECT h3_pointash3('POINT(-122.4783 37.8199)', 13)
635714569676958015
-- The function returns NULL if the input is the empty point.
> SELECT h3_pointash3('{"type":"Point","coordinates":[]}', 15)
null
-- Feeding a multipoint in WKT format instead of a point.
> SELECT h3_pointash3('MULTIPOINT(100 45)', 6)
[WKT_PARSE_ERROR] Error parsing WKT: Invalid or unsupported type 'MULTIPOINT' at position 1
-- Feeding an invalid GeoJSON string ("type" value is not correct).
> SELECT h3_pointash3('{"type":"POINT","coordinates":[]}', 15)
[GEOJSON_PARSE_ERROR] Error parsing GeoJSON: Invalid or unsupported type '"POINT"' at position 9
-- Feeding an invalid WKB (invalid endianness value)
> SELECT h3_pointash3(unhex('0201000000516b9a779c9e5ec0c5feb27bf2e84240'), 2)
[WKB_PARSE_ERROR] Error parsing WKB: Invalid byte order 2 at position 1
-- Resolution is out of range.
> SELECT h3_pointash3('POINT(-122.4783 37.8199)', 16)
[H3_INVALID_RESOLUTION_VALUE] H3 resolution 16 must be between 0 and 15, inclusive