الدالات الجغرافية المكانية H3

ينطبق على: وضع علامة Databricks SQL وضع علامة Databricks Runtime

H3 هو نظام فهرسة شبكة عالمي. تستخدم أنظمة الشبكة شكلا، مثل المستطيلات أو المثلثات، لتسييل سطح، وهو في هذه الحالة سطح الأرض. تم تصميم نظام H3 لاستخدام السداسيات (وعدد قليل من البنتاغونات)، ويقدم 16 مستوى من القرارات داخل التسلسل الهرمي الخاص به. عند دقة أعلى، تكون الأشكال ذات النسل أصغر.

يتم دعم تعبيرات H3 فقط في المجموعات التي تدعم Photon ومستودعات Databricks SQL في مستويات Databricks SQL pro وserverless.

اقرأ المزيد حول دقة H3، وحول أصول H3.

راجع أيضًا:

H3 للتحليقات الجغرافية المكانية

يدعم H3 نمطا شائعا لمعالجة البيانات المكانية وتحليلها. ابدأ بفهرسة البيانات الجغرافية المكانية من التنسيقات القياسية (خط العرض وخط الطول، أو النص المعروف (WKT) أو ثنائي معروف (WKB) أو GeoJSON إلى معرفات الخلايا H3. باستخدام مجموعة بيانات واحدة، يمكنك التجميع حسب معرف الخلية للإجابة عن الأسئلة المستندة إلى الموقع. باستخدام مجموعات بيانات مفهرسة متعددة، يمكنك دمجها باستخدام معرفات الخلايا، مما يكشف عن كيفية ارتباط مجموعات البيانات المتباينة ببعضها البعض. هذا الانضمام إلى مجموعات البيانات هو صلة مكانية من الناحية الدلالية، ولكن دون الحاجة إلى دالة تقييم مكانية.

ما هي فوائد استخدام H3 داخل Databricks؟

استفد من ميزات Delta Lake للتخزين الفعال وتخطيط البيانات المفهرسة H3. تتيح لك عملية تحسين Delta Lake مع ترتيب Z (على معرفات الخلايا H3) إمكانية المشاركة في تحديد موقع البيانات مكانيا. علاوة على ذلك، تستخدم بيانات Delta Lake التي تتخطى الخوارزميات المنطقة المشتركة لتقليل حجم البيانات التي تحتاج إلى قراءة بذكاء.

لديك مرونة في كيفية العمل مع البيانات. يمكنك اختيار العمل مع معرفات الخلايا H3 المخزنة كأعداد صحيحة أو سلاسل كبيرة. للحصول على أفضل أداء باستخدام معرفات الخلايا H3، استخدم تمثيل العدد الصحيح الكبير. للحصول على استخدام مفصل لتعبيرات H3، راجع الدليل المرجعي SQL.

إشعار

لا تحتاج إلى تثبيت مكتبة H3. يتم تضمينه كتبعية مرئية في Databricks Runtime، بدءا من Databricks Runtime 11.2، باستخدام الإصدار 3.7.0 من مكتبة H3 Java.

استيراد وظائف Databricks للحصول على H3 (وقت تشغيل Databricks)

لا حاجة إلى استيراد Databricks SQL وSpark SQL.

لاستيراد وظائف H3 ل Python أو Scala في دفاتر الملاحظات، استخدم الأوامر التالية:

Python

from pyspark.databricks.sql import functions as dbf

Scala

import com.databricks.sql.functions._

قائمة الدوال الجغرافية المكانية H3 (Databricks SQL)

استيراد

الوظيفة ‏‏الوصف
h3_coverash3(geographyExpr, resolutionExpr) إرجاع صفيف من معرفات الخلية H3 (ممثلة ك BIGINT) مطابقة للحد الأدنى من مجموعة السداسيات أو البنتاغونات، للدقة المحددة، التي تغطي بالكامل الجغرافيا الخطية أو الجغرافية الداخلية للإدخال.
h3_coverash3string(geographyExpr, resolutionExpr) إرجاع صفيف من معرفات الخلية H3 (ممثلة كسلسلة) مطابقة للحد الأدنى من مجموعة السداسيات أو البنتاغونات، للدقة المحددة، التي تغطي بالكامل الجغرافيا الخطية أو الجغرافية الداخلية للإدخال.
h3_longlatash3(longitudeExpr, latitudeExpr, resolutionExpr) إرجاع معرف الخلية H3 (ك BIGINT) المطابق لخط الطول وخط العرض المتوفرين عند الدقة المحددة.
h3_longlatash3string(longitudeExpr, latitudeExpr, resolutionExpr) إرجاع معرف الخلية H3 (كسلسلة سداسية عشرية) المقابلة لخط الطول وخط العرض المتوفرين عند الدقة المحددة.
h3_pointash3(geographyExpr, resolutionExpr) إرجاع معرف الخلية H3 (ك BIGINT) المطابق للنقطة المتوفرة عند الدقة المحددة.
h3_pointash3string(geographyExpr, resolutionExpr) إرجاع معرف الخلية H3 (كسلسلة) المطابق للنقطة المتوفرة عند الدقة المحددة.
h3_polyfillash3(geographyExpr, resolutionExpr) إرجاع صفيف من معرفات الخلية H3 (ممثلة ك BIGINT) مطابقة للسكساسيات أو البنتاغونات، للدقة المحددة، التي تحتوي عليها الجغرافيا الجغرافية للمدخلات.
h3_polyfillash3string(geographyExpr, resolutionExpr) إرجاع صفيف من معرفات الخلية H3 (ممثلة كسلسلة) مطابقة للسكساسيات أو البنتاغونات، للدقة المحددة، التي تحتوي عليها الجغرافيا الجغرافية للمدخلات.
h3_tessellateaswkb(geographyExpr, resolutionExpr) إرجاع tessellation لجغرافية الإدخال باستخدام خلايا H3 بدقة محددة.
h3_try_polyfillash3(geographyExpr, resolutionExpr) إرجاع صفيف من معرفات الخلية H3 (ممثلة ك BIGINT) مطابقة للسكساسيات أو البنتاغونات، للدقة المحددة، التي تحتوي عليها الجغرافيا الجغرافية للمدخلات.
h3_try_polyfillash3string(geographyExpr, resolutionExpr) إرجاع صفيف من معرفات الخلية H3 (ممثلة كسلسلة) مطابقة للسكساسيات أو البنتاغونات، للدقة المحددة، التي تحتوي عليها الجغرافيا الجغرافية للمدخلات.

تصدير

الوظيفة ‏‏الوصف
h3_boundaryasgeojson(h3CellIdExpr) إرجاع الحد المضلع لخلية الإدخال H3 بتنسيق GeoJSON .
h3_boundaryaswkb(h3CellIdExpr) إرجاع الحد المضلع لخلية الإدخال H3 بتنسيق WKB .
h3_boundaryaswkt(h3CellIdExpr) إرجاع الحد المضلع لخلية الإدخال H3 بتنسيق WKT .
h3_centerasgeojson(h3CellIdExpr) إرجاع مركز خلية الإدخال H3 كنقطة بتنسيق GeoJSON .
h3_centeraswkb(h3CellIdExpr) إرجاع مركز خلية الإدخال H3 كنقطة بتنسيق WKB .
h3_centeraswkt(h3CellIdExpr) إرجاع مركز خلية الإدخال H3 كنقطة بتنسيق WKT .

التحويلات

الوظيفة ‏‏الوصف
h3_h3tostring(h3CellIdExpr) تحويل معرف خلية الإدخال H3 إلى تمثيل السلسلة السداسية العشرية المكافئة له.
h3_stringtoh3(h3CellIdStringExpr) تحويل سلسلة الإدخال، التي من المتوقع أن تكون سلسلة سداسية عشرية تمثل معرف خلية H3، إلى تمثيل BIGINT المقابل لمعرف الخلية H3.

تكملات

الوظيفة ‏‏الوصف
h3_ischildof(h3CellId1Expr, h3CellId2Expr) إرجاع true إذا كان معرف الخلية H3 الأول مساويا لمعرف الخلية H3 الثاني أو تابعا له.
h3_ispentagon(h3CellIdExpr) إرجاع true إذا كان الإدخال BIGINT أو سلسلة سداسية عشرية يتوافق مع خلية H3 البنتاغونية أم لا.

الصلاحية

الوظيفة ‏‏الوصف
h3_isvalid (expr) إرجاع القيمة true إذا كان الإدخال BIGINT أو STRING هو معرف خلية H3 صالح.
h3_try_validate(h3CellIdExpr) إرجاع قيمة الإدخال، التي هي من نوع BIGINT أو STRING، إذا كانت تتوافق مع معرف خلية H3 صالح، أو NULL بخلاف ذلك.
h3_validate(h3CellIdExpr) ترجع قيمة الإدخال، من النوع BIGINT أو STRING، إذا كانت تتوافق مع معرف خلية H3 صالح، أو تصدر خطأ بخلاف ذلك.
الوظيفة ‏‏الوصف
h3_distance(h3CellId1Expr, h3CellId2Expr) إرجاع مسافة الشبكة لمعرفي الخلية H3 للإدخال.
h3_hexring(h3CellIdExpr, kExpr) إرجاع صفيف من معرفات الخلايا H3 التي تشكل حلقة سداسية مفرغة تتمحور في الخلية H3 الأصلية والتي تقع على مسافة k الشبكة من الخلية H3 الأصلية.
h3_kring(h3CellIdExpr, kExpr) إرجاع معرفات الخلية H3 الموجودة ضمن مسافة k (الشبكة) لمعرف الخلية الأصل.
h3_kringdistances(h3CellIdExpr, kExpr) إرجاع كافة معرفات الخلايا H3 (ممثلة كأعداد صحيحة أو سلاسل طويلة) ضمن مسافة k الشبكة من معرف الخلية H3 الأصلي، إلى جانب المسافة بينهما من معرف الخلية H3 الأصل.
h3_try_distance(h3CellId1Expr, h3CellId2Expr) إرجاع مسافة الشبكة لمعرفي خلية الإدخال H3 بنفس الدقة، أو NULL إذا كانت المسافة غير معرفة.

اجتياز

الوظيفة ‏‏الوصف
h3_maxchild(h3CellIdExpr, resolutionExpr) إرجاع التابع للقيمة القصوى لخلية الإدخال H3 بدقة محددة.
h3_minchild(h3CellIdExpr, resolutionExpr) ترجع هذه الدالة التابعة للقيمة الدنيا لخلية الإدخال H3 بدقة محددة.
h3_resolution(h3CellIdExpr) إرجاع دقة معرف خلية الإدخال H3.
h3_tochildren(h3CellIdExpr, resolutionExpr) إرجاع صفيف من معرفات الخلايا H3 التابعة لمعرف خلية الإدخال H3 بدقة محددة.
h3_toparent(h3CellIdExpr, resolutionExpr) إرجاع معرف الخلية H3 الأصل لمعرف خلية الإدخال H3 بدقة محددة.

الضغط

الوظيفة ‏‏الوصف
h3_compact(h3CellIdsExpr) ضغط مجموعة الإدخال لمعرفات الخلايا H3 بأفضل ما يمكن.
h3_uncompact(h3CellIdsExpr, resolutionExpr) إلغاء حساب مجموعة الإدخال لمعرفات الخلايا H3 إلى الدقة المحددة.