Partage via


Fonction h3_tochildren

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

Retourne le tableau des cellules H3 enfants de la cellule H3 d’entrée à la résolution spécifiée.

Syntaxe

h3_tochildren ( h3cellIdExpr, resolutionExpr )

Arguments

  • h3CellIdExpr : expression BIGINT ou expression STRING hexadécimale représentant un ID de cellule H3.
  • resolutionExpr : expression INT dont la valeur doit être comprise entre h3_resolution(h3CellIdExpr) et 15 inclus, en spécifiant la résolution des ID de cellule H3 enfants.

Retours

TABLEAU de valeurs du même type que le type de l’expression h3CellIdExpr, correspondant aux ID de cellule H3 enfants de la cellule H3 d’entrée à la résolution spécifiée.

La fonction retourne NULL si l’une des deux expressions d’entrée est NULL. La fonction effectue une validation partielle pour déterminer si l’argument d’entrée est un ID de cellule H3 valide. Une valeur d’ID H3 comprise entre 0x08001fffffffffff et 0x08ff3b6db6db6db6 constitue une condition nécessaire mais pas suffisante. Le comportement de la fonction n’est pas défini si l’ID de cellule d’entrée ne correspond pas à un ID de cellule valide. Si la valeur de resolutionExpr est égale à la résolution de l’ID de cellule H3 d’entrée, le tableau retourné contient une valeur unique égale à l’ID de cellule H3 d’entrée.

Conditions d'erreur

  • Si h3CellIdExpr correspond à une STRING qui ne peut pas être convertie en BIGINT ou qui correspond à une valeur BIGINT inférieure à 0x08001fffffffffff ou supérieure à 0x08ff3b6db6db6db6, la fonction retourne H3_INVALID_CELL_ID.
  • Si resolutionExpr est inférieure à h3_resolution(h3CellIdExpr) ou supérieure à 15, la fonction retourne H3_INVALID_RESOLUTION_VALUE.

Exemples

-- Simple example taking a long as input.
> SELECT h3_tochildren(599686042433355775, 6)
  [604189641121202175,604189641255419903,604189641389637631,604189641523855359,604189641658073087,604189641792290815,604189641926508543]

-- Simple example taking a hexadecimal string as input.
> SELECT h3_tochildren('85283473fffffff', 6)
  [862834707ffffff,86283470fffffff,862834717ffffff,86283471fffffff,862834727ffffff,86283472fffffff,862834737ffffff]

-- First input is an invalid H3 cell ID.
> SELECT h3_tochildren(0, 15)
  [H3_INVALID_CELL_ID] 0 is not a valid H3 cell ID

-- Second input is an invalid resolution value.
> SELECT h3_tochildren('85283473fffffff', 0)
  [H3_INVALID_RESOLUTION_VALUE] H3 resolution 0 must be between 5 and 15, inclusive