h3_compact
وظيفه
ينطبق على: Databricks SQL Databricks Runtime 11.3 LTS وما فوق
ضغط مجموعة الإدخال لخلايا H3. تغطي المجموعة المضغوطة نفس مجموعة الخلايا H3 مثل الخلايا الأصلية.
بناء الجملة
h3_compact ( h3CellIdsExpr )
الوسيطات
h3CellIdsExpr
: صفيف تعبير BIGINTs، أو صفيف من تعبير STRINGs سداسي عشري يمثل صفيفا من معرفات الخلايا H3.
المرتجعات
صفيف معرفات الخلية H3 من نفس نوع القيم في تعبير h3CellIdsExpr
صفيف الإدخال .
ترجع الدالة NULL إذا كان الإدخال NULL.
تقوم الدالة بالتحقق الجزئي فيما إذا كانت وسيطة الإدخال هي معرف خلية H3 صالح. شرط ضروري، ولكن ليس كافيا لمعرف H3 صالح هو أن قيمته بين 0x08001fffffffffff
و 0x08ff3b6db6db6db6
.
سلوك الدالة غير معرف إذا كان أي من معرفات الخلايا في صفيف الإدخال ليس معرف خلية صالحا.
يتم تجاهل القيم الخالية في صفيف الإدخال.
حالات الخطأ
- إذا كانت
h3CellIdExpr
سلسلة لا يمكن تحويلها إلى BIGINT أو تتوافق مع قيمة BIGINT أصغر من0x08001fffffffffff
أو أكبر من0x08ff3b6db6db6db6
، ترجع الدالة H3_INVALID_CELL_ID.
الأمثلة
-- Example where the input is an ARRAY of BIGINTs
> SELECT h3_compact(ARRAY(599686042433355775,599686030622195711,599686044580839423,599686038138388479,599686043507097599,599686015589810175,599686014516068351,599686034917163007,599686029548453887,599686032769679359,599686198125920255,599686040285872127,599686041359613951,599686039212130303,599686023106002943,599686027400970239,599686013442326527,599686012368584703,599686018811035647));
[599686030622195711,599686015589810175,599686014516068351,599686034917163007,599686029548453887,599686032769679359,599686198125920255,599686023106002943,599686027400970239,599686013442326527,599686012368584703,599686018811035647,595182446027210751]
-- Example where the input is an ARRAY of hexadecimal STRINGs
> SELECT h3_compact(ARRAY('85283473fffffff', '85283447fffffff', '8528347bfffffff', '85283463fffffff', '85283477fffffff', '8528340ffffffff', '8528340bfffffff', '85283457fffffff', '85283443fffffff', '8528344ffffffff', '852836b7fffffff', '8528346bfffffff', '8528346ffffffff', '85283467fffffff', '8528342bfffffff', '8528343bfffffff', '85283407fffffff', '85283403fffffff', '8528341bfffffff'));
[85283447fffffff, 8528340ffffffff, 8528340bfffffff, 85283457fffffff, 85283443fffffff, 8528344ffffffff, 852836b7fffffff, 8528342bfffffff, 8528343bfffffff, 85283407fffffff, 85283403fffffff, 8528341bfffffff, 8428347ffffffff]
-- Example where the input ARRAY consists of a single element (and thus cannot be compacted further).
> SELECT h3_compact(ARRAY('85283473fffffff'));
[85283473fffffff]
-- Example where we compare the size of the 2-ring of an H3 cell with its compacted version.
> SELECT ARRAY_SIZE(h3_kring(599686042433355775, 2)), ARRAY_SIZE(h3_compact(h3_kring(599686042433355775, 2)))
19 13
-- Example where one of the cell IDs is out of range.
> SELECT h3_compact(ARRAY(599686042433355775, 0))
[H3_INVALID_CELL_ID] 0 is not a valid H3 cell ID