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