共用方式為


h3_pointash3string函式

傳回與指定解析度上所提供點對應的 H3 單元格標識碼(以 STRING 表示)。

適用於: 檢查標示為是 Databricks SQL 預覽 檢查標示為是 Databricks Runtime 11.3 LTS 和更新版本

語法

h3_pointash3string ( geographyExpr, resolutionExpr )

引數

  • geographyExpr:BINARY 或 STRING 運算式,代表 WKBWKTGeoJSON 中的點地理位置。 地理位置預期會有參考 WGS84 座標參考系統的經度和緯度座標。
  • resolutionExpr:INT 運算式,其值預期介於 和 15 內含之間0,並指定 H3 單元格標識碼的解析度。

傳回

傳回與指定解析度上所提供點對應的 H3 單元格標識碼(以 STRING 表示)。

如果任一輸入表達式為 NULL,此函式會傳回 NULL。 如果第一個輸入自變數的類型為 BINARY,則輸入值必須是 點的 WKB 描述。 如果第一個輸入自變數的類型為 STRING,則輸入值必須是 WKT](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry) 或 某個點的 GeoJSON 描述。 輸入點的維度可以是 2D、3DZ、3DM 或 4D。 WKBWKTGeoJSON 描述中的經度和緯度值應該位於 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_pointash3string('POINT(100 45)', 6)
  86240610fffffff

-- The H3 cell ID for the Golden Gate Bridge at resolution 13.
> SELECT h3_pointash3string('POINT(-122.4783 37.8199)', 13)
  8d283087022a93f

-- The function returns NULL if the input is the empty point.
> SELECT h3_pointash3string('{"type":"Point","coordinates":[]}', 15)
  null

-- Feeding a multipoint in WKT format instead of a point.
> SELECT h3_pointash3string('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_pointash3string('{"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_pointash3string(unhex('0201000000516b9a779c9e5ec0c5feb27bf2e84240'), 2)
  [WKB_PARSE_ERROR] Error parsing WKB: Invalid byte order 2 at position 1

-- Resolution is out of range.
> SELECT h3_pointash3string('POINT(-122.4783 37.8199)', 16)
  [H3_INVALID_RESOLUTION_VALUE] H3 resolution 16 must be between 0 and 15, inclusive