h3_hexring-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 H3-cellen die een lege zeshoekige ring vormen die is gecentreerd op de oorspronkelijke H3-cel en die zich op rasterafstand k van de oorspronkelijke H3-cel bevinden.

Syntaxis

h3_hexring ( h3CellIdExpr, kExpr )

Argumenten

  • h3CellIdExpr: Een BIGINT-expressie of een hexadecimale TEKENREEKS-expressie die een H3-cel-id vertegenwoordigt.
  • kExpr: Een INTEGER-expressie die de rasterafstand aangeeft. kExpr moet niet-negatief zijn.

Retouren

Een MATRIX met waarden van hetzelfde type als het type expressie h3CellIdExpr , dat overeenkomt met de H3-cel-id's die dezelfde resolutie hebben als de ingevoerde H3-cel en die een lege ring vormen die is gecentreerd op de oorspronkelijke H3-cel op afstand k, waar k is de waarde van kExpr.

De functie retourneert NULL als een van de 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 rasterafstand nul is, bevat de geretourneerde matrix één waarde die gelijk is aan de cel-id van de H3-invoer.

Foutvoorwaarden

Voorbeelden

-- Simple example where the first argument is a BIGINT.
> SELECT h3_hexring(599686042433355775, 1)
  [599686014516068351,599686030622195711,599686044580839423,599686038138388479,599686043507097599,599686015589810175]

-- Simple example where the first argument is a STRING.
> SELECT h3_hexring('85283473fffffff', 1)
  [8528340bfffffff,85283447fffffff,8528347bfffffff,85283463fffffff,85283477fffffff,8528340ffffffff]

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

-- Second input is an invalid grid distance value.
> SELECT h3_hexring('85283473fffffff', -1)
  [H3_INVALID_GRID_DISTANCE_VALUE] H3 grid distance -1 must be non-negative

-- The input cell is a hexagonal cell adjacent to a pentagonal cell (the 2-ring of the hexagonal cell contains the pentagon).
> SELECT H3_HexRing('8007fffffffffff', 2)
  [H3_PENTAGON_ENCOUNTERED_ERROR] A pentagon was encountered while computing the hex ring of '8007fffffffffff' with grid distance 2