h3_uncompact fungsi

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

Menguraikan set masukan sel H3 ke resolusi yang ditentukan. Kumpulan yang tidak dipadatkan mencakup sel H3 yang sama dengan kumpulan aslinya dengan menggunakan sel pada resolusi yang telah ditentukan.

Sintaks

h3_uncompact ( h3CellIdsExpr, resolutionExpr )

Argumen

  • h3CellIdsExpr: ARRAY dari ekspresi BIGINT, atau ARRAY dari ekspresi STRING heksadesimal yang mewakili array ID-ID sel H3.
  • resolutionExpr: Ekspresi INTEGER, yang nilainya diharapkan berada antara resolusi maksimum sel H3 input dan 15, termasuk, yang menentukan resolusi ID sel H3 dalam ARRAY keluaran.

Pengembalian

ARRAY dari nilai-nilai dengan tipe yang sama seperti nilai-nilai dalam ekspresi ARRAY input h3cellIdsExpr. Resolusi ID sel H3 dalam ARRAY output sama dengan nilai resolutionExpr.

Fungsi mengembalikan NULL jika 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 terdefinisi jika salah satu ID sel dalam ARRAY input bukan ID sel yang valid. Nilai NULL dalam array input diabaikan.

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 resolutionExpr lebih kecil dari resolusi maksimum sel H3 dalam ARRAY input, atau lebih besar dari 15, fungsi mengembalikan H3_INVALID_RESOLUTION_VALUE.

Contoh

-- Example where the input is an ARRAY of BIGINTs
> SELECT h3_uncompact(ARRAY(599686030622195711,599686015589810175,599686014516068351,599686034917163007,599686029548453887,599686032769679359,599686198125920255,599686023106002943,599686027400970239,599686013442326527,599686012368584703,599686018811035647,595182446027210751), 5);
  [599686030622195711,599686015589810175,599686014516068351,599686034917163007,599686029548453887,599686032769679359,599686198125920255,599686023106002943,599686027400970239,599686013442326527,599686012368584703,599686018811035647,599686038138388479,599686039212130303,599686040285872127,599686041359613951,599686042433355775,599686043507097599,599686044580839423]

-- In this example we verify that uncompacting the compacted set of the 2-ring of an H3 cell at the cell's resolution returns the original 2-ring.
> SELECT COUNT(*) FROM ((SELECT explode(h3_uncompact(h3_compact(h3_kring(599686042433355775, 2)), h3_resolution(599686042433355775)))) MINUS (SELECT  explode(h3_kring(599686042433355775, 2))));
  0

-- Second input is an invalid resolution value.
> SELECT h3_uncompact(ARRAY(599686030622195711,599686015589810175,599686014516068351,599686034917163007,599686029548453887,599686032769679359,599686198125920255,599686023106002943,599686027400970239,599686013442326527,599686012368584703,599686018811035647,595182446027210751), 2);
  [H3_INVALID_RESOLUTION_VALUE] H3 resolution 2 must be between 5 and 15, inclusive