h3_tochildren-functie

Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 11.3 LTS en hoger

Retourneert een matrix van de onderliggende H3-cellen van de ingevoerde H3-cel met de opgegeven resolutie.

Syntaxis

h3_tochildren ( h3cellIdExpr, resolutionExpr )

Argumenten

  • h3CellIdExpr: Een BIGINT-expressie of een hexadecimale TEKENREEKS-expressie die een H3-cel-id vertegenwoordigt.
  • resolutionExpr: Een INT-expressie, waarvan de waarde naar verwachting tussen h3_resolution(h3CellIdExpr) en 15 inclusief is, waarbij de resolutie van de onderliggende H3-cel-id's wordt opgegeven.

Retouren

Een MATRIX met waarden van hetzelfde type als het type expressie h3CellIdExpr , dat overeenkomt met de onderliggende H3-cel-id's van de ingevoerde H3-cel met de opgegeven resolutie.

De functie retourneert NULL als een van de twee invoerexpressies NULL is. De functie voert gedeeltelijke validatie uit met betrekking tot of het invoerargument een geldige H3-cel-id is. Een noodzakelijke, maar niet voldoende voorwaarde voor een geldige H3-id is dat de waarde tussen 0x08001fffffffffff en 0x08ff3b6db6db6db6. Het gedrag van de functie is niet gedefinieerd als de invoercel-id geen geldige cel-id is. Als de waarde van de resolutionExpr waarde gelijk is aan de resolutie van de ingevoerde H3-cel-id, bevat de geretourneerde matrix één waarde die gelijk is aan de cel-id van de invoer H3.

Foutvoorwaarden

  • Als h3CellIdExpr dit een TEKENREEKS is die niet kan worden geconverteerd naar een BIGINT of overeenkomt met een BIGINT-waarde die kleiner is dan 0x08001fffffffffff of groter 0x08ff3b6db6db6db6is, retourneert de functie H3_INVALID_CELL_ID.
  • Als resolutionExpr deze kleiner is dan h3_resolution(h3CellIdExpr) of groter 15is, retourneert de functie H3_INVALID_RESOLUTION_VALUE.

Voorbeelden

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