h3_uncompact
وظيفه
ينطبق على: Databricks SQL
Databricks Runtime 11.3 LTS وما فوق
إلغاء حساب مجموعة الإدخال لخلايا H3 إلى الدقة المحددة. تغطي المجموعة غير المحوسبة نفس مجموعة الخلايا H3 مثل الخلية الأصلية التي تستخدم الخلايا بدقة محددة.
بناء الجملة
h3_uncompact ( h3CellIdsExpr, resolutionExpr )
الوسيطات
h3CellIdsExpr
: صفيف تعبير BIGINTs، أو صفيف من تعبير STRINGs سداسي عشري يمثل صفيفا من معرفات الخلايا H3.resolutionExpr
: تعبير INTEGER، الذي من المتوقع أن تكون قيمته بين الحد الأقصى لدقة خلايا الإدخال H3 والشمولية15
، مع تحديد دقة معرفات الخلية H3 في صفيف الإخراج.
المرتجعات
صفيف من القيم من نفس نوع القيم في تعبير h3cellIdsExpr
صفيف الإدخال . دقة معرفات الخلية H3 في صفيف الإخراج تساوي قيمة resolutionExpr
.
ترجع الدالة NULL إذا كان الإدخال NULL.
تقوم الدالة بالتحقق الجزئي فيما إذا كانت وسيطة الإدخال هي معرف خلية H3 صالح. شرط ضروري، ولكن ليس كافيا لمعرف H3 صالح هو أن قيمته بين 0x08001fffffffffff
و 0x08ff3b6db6db6db6
.
سلوك الدالة غير معرف إذا كان أي من معرفات الخلايا في صفيف الإدخال ليس معرف خلية صالحا.
يتم تجاهل القيم الخالية في صفيف الإدخال.
حالات الخطأ
- إذا كانت
h3CellIdExpr
سلسلة لا يمكن تحويلها إلى BIGINT أو تتوافق مع قيمة BIGINT أصغر من0x08001fffffffffff
أو أكبر من0x08ff3b6db6db6db6
، ترجع الدالة H3_INVALID_CELL_ID. - إذا كان
resolutionExpr
أصغر من الحد الأقصى لدقة الخلية H3 في صفيف الإدخال، أو أكبر من15
، ترجع الدالة H3_INVALID_RESOLUTION_VALUE.
الأمثلة
-- 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