Dela via


Funktionen h3_hexring

Gäller för:markerad ja Databricks SQL markerad ja Databricks Runtime 11.3 LTS och senare

Returnerar en matris med H3-celler som bildar en ihålig sexhörningsring centrerad vid H3-ursprungscellen och som är på rutnätsavstånd k från ursprungscellen H3.

Syntax

h3_hexring ( h3CellIdExpr, kExpr )

Argument

  • h3CellIdExpr: Ett BIGINT-uttryck eller ett hexadecimalt STRING-uttryck som representerar ett H3-cell-ID.
  • kExpr: Ett INTEGER-uttryck som representerar rutnätsavståndet. kExpr måste vara icke-negativ.

Returer

En MATRIS med values av samma typ som typen av h3CellIdExpr-uttrycket, som motsvarar de H3-cell-ID:er som har samma upplösning som indata-H3-cellen och som bildar en ihålig ring centrerad vid ursprungscellen H3 på avstånd k, wherek är värdet för kExpr.

Funktionen returnerar NULL om något av indatauttrycken är NULL. Funktionen validerar delvis om indataargumentet är ett giltigt H3-cell-ID. Ett nödvändigt men inte tillräckligt villkor för ett giltigt H3-ID är att dess värde är mellan 0x08001fffffffffff och 0x08ff3b6db6db6db6. Funktionens beteende är odefinierat om indatacells-ID:t inte är ett giltigt cell-ID. Om värdet för rutnätsavståndet är noll innehåller den returnerade matrisen ett enda värde som är lika med indata-H3-cell-ID:t.

Feltillstånd

Exempel

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