h3_hexring fungsi

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 11.3 LTS ke atas

Mengembalikan array sel H3 yang membentuk cincin heksagonal berongga yang berpusat pada sel H3 asal dan berada pada jarak k kisi dari sel H3 asal.

Sintaks

h3_hexring ( h3CellIdExpr, kExpr )

Argumen

  • h3CellIdExpr: Ekspresi BIGINT, atau ekspresi STRING heksadesimal yang mewakili ID sel H3.
  • kExpr: Ekspresi BILANGAN BULAT yang mewakili jarak kisi. kExpr harus non-negatif.

Mengembalikan

ARRAY nilai dengan jenis yang sama dengan jenis h3CellIdExpr ekspresi, sesuai dengan ID sel H3 yang memiliki resolusi yang sama dengan sel H3 input dan yang membentuk cincin berongga yang berpusat pada sel H3 asal pada jarak k, di mana k adalah nilai kExpr.

Fungsi mengembalikan NULL jika salah satu ekspresi input adalah NULL. Fungsi melakukan validasi parsial mengenai apakah argumen input adalah ID sel H3 yang valid. Kondisi yang diperlukan, tetapi tidak memadai untuk ID H3 yang valid adalah bahwa nilainya antara 0x08001fffffffffff dan 0x08ff3b6db6db6db6. Perilaku fungsi tidak ditentukan jika ID sel input bukan ID sel yang valid. Jika nilai jarak kisi adalah nol, array yang dikembalikan berisi nilai tunggal yang sama dengan ID sel H3 input.

Kondisi kesalahan

  • Jika h3CellIdExpr adalah STRING yang tidak dapat dikonversi ke BIGINT atau sesuai dengan nilai BIGINT yang lebih kecil dari 0x08001fffffffffff atau lebih besar dari 0x08ff3b6db6db6db6, fungsi mengembalikan H3_INVALID_CELL_ID.
  • Jika kExpr negatif, fungsi mengembalikan H3_INVALID_GRID_DISTANCE_VALUE.
  • Jika ada segi lima di mana saja di k-ring sel asal, fungsi akan mengembalikan H3_PENTAGON_ENCOUNTERED_ERROR.

Contoh

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