h3_uncompact-functie

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

Hiermee wordt de invoerset H3-cellen niet gewijzigd in de opgegeven resolutie. De ongecompacteerde set dekt dezelfde set H3-cellen als de oorspronkelijke set met behulp van cellen met de opgegeven resolutie.

Syntaxis

h3_uncompact ( h3CellIdsExpr, resolutionExpr )

Argumenten

  • h3CellIdsExpr: Een MATRIX van BIGINTs-expressie of een MATRIX van hexadecimale STRING-expressie die een matrix van H3-cel-id's vertegenwoordigt.
  • resolutionExpr: Een INTEGER-expressie, waarvan de waarde naar verwachting tussen de maximale resolutie van de invoer H3-cellen en 15 inclusief ligt, waarbij de resolutie van de H3-cel-id's in de uitvoerMATRIX wordt opgegeven.

Retouren

Een MATRIX met waarden van hetzelfde type als de waarden in de invoerMATRIX-expressie h3cellIdsExpr. De resolutie van de H3-cel-id's in de uitvoerMATRIX is gelijk aan de waarde van de resolutionExpr.

De functie retourneert NULL als de invoer 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 een van de cel-id's in de invoerMATRIX geen geldige cel-id is. NULL-waarden in de invoermatrix worden genegeerd.

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 de maximale resolutie van de H3-cel in de invoerMATRIX of groter dan 15, retourneert de functie H3_INVALID_RESOLUTION_VALUE.

Voorbeelden

-- Example where the input is an ARRAY of BIGINTs
> SELECT h3_uncompact(ARRAY(599686030622195711,599686015589810175,599686014516068351,599686034917163007,599686029548453887,599686032769679359,599686198125920255,599686023106002943,599686027400970239,599686013442326527,599686012368584703,599686018811035647,595182446027210751), 5);
  [599686030622195711,599686015589810175,599686014516068351,599686034917163007,599686029548453887,599686032769679359,599686198125920255,599686023106002943,599686027400970239,599686013442326527,599686012368584703,599686018811035647,599686038138388479,599686039212130303,599686040285872127,599686041359613951,599686042433355775,599686043507097599,599686044580839423]

-- In this example we verify that uncompacting the compacted set of the 2-ring of an H3 cell at the cell’s resolution returns the original 2-ring.
> SELECT COUNT(*) FROM ((SELECT explode(h3_uncompact(h3_compact(h3_kring(599686042433355775, 2)), h3_resolution(599686042433355775)))) MINUS (SELECT  explode(h3_kring(599686042433355775, 2))))
  0

-- Second input is an invalid resolution value.
> SELECT h3_uncompact(ARRAY(599686030622195711,599686015589810175,599686014516068351,599686034917163007,599686029548453887,599686032769679359,599686198125920255,599686023106002943,599686027400970239,599686013442326527,599686012368584703,599686018811035647,595182446027210751), 2);
  [H3_INVALID_RESOLUTION_VALUE] H3 resolution 2 must be between 5 and 15, inclusive