Funkce h3_pointash3
Vrátí ID buňky H3 (jako BIGINT) odpovídající zadanému bodu v zadaném rozlišení.
Platí pro: Databricks SQL Preview Databricks Runtime 11.3 LTS a vyšší
Syntaxe
h3_pointash3 ( geographyExpr, resolutionExpr )
Argumenty
geographyExpr
: Výraz BINARY nebo STRING představující bodovou geografii ve WKB, WKT nebo GeoJSON. Zeměpisná oblast má souřadnice zeměpisné délky a zeměpisné šířky ve stupních, které odkazují na referenční systém souřadnic WGS84 .resolutionExpr
: Výraz INT, jehož hodnota by měla být mezi0
a15
včetně, určuje rozlišení PRO ID buňky H3.
Návraty
Vrátí ID buňky H3 (jako BIGINT) odpovídající zadanému bodu v zadaném rozlišení.
Funkce vrátí hodnotu NULL, pokud některý ze vstupních výrazů má hodnotu NULL. Pokud je první vstupní argument typu BINARY, očekává se, že vstupní hodnota bude popisem bodu WKB . Pokud je první vstupní argument typu STRING, očekává se, že vstupní hodnotou bude WKT](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry) nebo GeoJSON popis bodu. Rozměr vstupního bodu může být 2D, 3DZ, 3DM nebo 4D. Očekává se, že hodnoty zeměpisné délky a zeměpisné šířky v popisu WKB, WKT nebo GeoJSON budou v referenčním systému souřadnic WGS84. Funkce vrátí hodnotu NULL, pokud první vstup odpovídá prázdnému bodu.
Chybové podmínky
- Pokud
geographyExpr
je typu BINARY a hodnota je buď neplatný kód WKB nebo nepředstavuje bod, vrátí funkce WKB_PARSE_ERROR. - Pokud
geographyExpr
je typu STRING a hodnota je buď neplatný WKT nebo nepředstavuje bod, vrátí funkce WKT_PARSE_ERROR. - Pokud
geographyExpr
je typu STRING a hodnota je neplatná GeoJSON nebo nepředstavuje bod, vrátí funkce GEOJSON_PARSE_ERROR. - Pokud
resolutionExpr
je menší než nebo větší15
,0
vrátí funkce H3_INVALID_RESOLUTION_VALUE.
Příklady
-- 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