Sdílet prostřednictvím


Funkce h3_hexring

Platí pro: zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime 11.3 LTS a vyšší

Vrátí matici buněk H3, které tvoří prázdný šestiúhelník uprostřed buňky původu H3 a které jsou ve vzdálenosti k mřížky od původní buňky H3.

Syntaxe

h3_hexring ( h3CellIdExpr, kExpr )

Argumenty

  • h3CellIdExpr: Výraz BIGINT nebo šestnáctkový výraz STRING představující ID buňky H3.
  • kExpr: Výraz INTEGER představující vzdálenost mřížky. kExpr musí být nezáporná.

Návraty

POLE hodnot stejného typu jako typ výrazu h3CellIdExpr , které odpovídají ID buněk H3, které mají stejné rozlišení jako vstupní buňka H3 a které tvoří prázdný prstenec na střed v buňce původu H3 ve vzdálenosti k, kde k je hodnota kExpr.

Funkce vrátí hodnotu NULL, pokud některý ze vstupních výrazů má hodnotu NULL. Funkce provádí částečné ověření týkající se toho, jestli je vstupním argumentem platné ID buňky H3. Nezbytným, ale ne dostatečným předpokladem platného ID H3 je, že jeho hodnota je mezi 0x08001fffffffffff a 0x08ff3b6db6db6db6. Chování funkce není definováno, pokud id vstupní buňky není platné ID buňky. Pokud je hodnota vzdálenosti mřížky nula, vrácená matice obsahuje jednu hodnotu, která se rovná vstupnímu ID buňky H3.

Chybové podmínky

Příklady

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