Fonction h3_pointash3

Retourne l’ID de cellule H3 (en tant que BIGINT) correspondant au point fourni à la résolution spécifiée.

S’applique à :coche marquée oui Databricks SQL en préversion oui coché Databricks Runtime 11.3 LTS et versions ultérieures

Syntaxe

h3_pointash3 ( geographyExpr, resolutionExpr )

Arguments

  • geographyExpr : expression BINARY ou STRING représentant un point géographique dans WKB, WKT ou GeoJSON. La géographie doit avoir des coordonnées de longitude et de latitude en degrés faisant référence au système de référence de coordonnées WGS84.
  • resolutionExpr : expression INT dont la valeur doit être comprise entre 0 et 15 inclus, en spécifiant la résolution de l’ID de la cellule H3.

Retours

Retourne l’ID de cellule H3 (en tant que BIGINT) correspondant au point fourni à la résolution spécifiée.

La fonction retourne NULL si l’une des expressions d’entrée est NULL. Si le premier argument d’entrée est de type BINARY, la valeur d’entrée doit correspondre à la description WKB d’un point. Si le premier argument d’entrée est de type STRING, la valeur d’entrée est censée être la description WKT](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry) ou GeoJSON d’un point. La dimension du point d’entrée peut être 2D, 3DZ, 3DM ou 4D. Les valeurs de longitude et de latitude dans le WKB, WKT ou GeoJSON sont attendues dans le système de référence des coordonnées WGS84. La fonction retourne NULL si la première entrée correspond au point vide.

Conditions d'erreur

  • Si geographyExpr est de type BINARY et que la valeur est un WKB non valide ou ne représente pas un point, la fonction retourne WKB_PARSE_ERROR.
  • Si geographyExpr est de type STRING et que la valeur est un WKT non valide ou ne représente pas un point, la fonction retourne WKT_PARSE_ERROR.
  • Si geographyExpr est de type STRING et que la valeur est un GeoJSON non valide ou ne représente pas un point, la fonction retourne GEOJSON_PARSE_ERROR.
  • Si resolutionExpr est inférieure à 0 ou supérieure à 15, la fonction retourne H3_INVALID_RESOLUTION_VALUE.

Exemples

-- 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