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 värden av samma typ som uttryckets h3CellIdExpr typ, 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, där k ä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