الانتقال إلى المحتوى الرئيسي

فهرس H3

يُعد H3 نظام فهرسة جغرافية تُقسَّم فيه سطح الأرض إلى شبكة من الخلايا السداسية المتساوية. وهذا النظام هرمي، أي إن كل سداسي في المستوى الأعلى (“الأصل”) يمكن تقسيمه إلى سبعة سداسيات متساوية أصغر حجمًا (“الفروع”)، وهكذا. يُسمّى مستوى هذا التسلسل الهرمي resolution، ويمكن أن يأخذ قيمة من 0 إلى 15، حيث إن 0 هو مستوى base الذي يضم أكبر الخلايا وأقلها دقة. يمكن تحويل زوج من خط العرض وخط الطول إلى فهرس H3 بطول 64 بت، يحدِّد خلية في الشبكة. يُستخدم فهرس H3 أساسًا لتجميع المواقع الجغرافية وإجراء المعالجات المكانية الأخرى. يتوفر الوصف الكامل لنظام H3 على موقع Uber Engineering.

h3IsValid

يتحقق مما إذا كان الرقم يمثّل فهرس H3 صالحًا. البنية
المعلمة
  • h3index — رقم فهرس الخلية السداسية. UInt64.
القيم المُعادة
  • 1 — الرقم فهرس H3 صالح. UInt8.
  • 0 — الرقم ليس فهرس H3 صالحًا. UInt8.
مثال
Query
Response

h3GetResolution

يحدّد مستوى الدقة لفهرس H3 المُعطى. البنية
المعلمة
  • h3index — رقم فهرس الخلية السداسية. UInt64.
القيم المُعادة
  • دقة الفهرس. النطاق: [0, 15]. UInt8.
  • إذا كان الفهرس غير صالح، فستُرجع الدالة قيمة عشوائية. استخدم h3IsValid للتحقق من صحة الفهرس. UInt8.
مثال
Query
Response

h3EdgeAngle

يحسب متوسط طول ضلع السداسي في H3 بوحدة الغراد. الصيغة
المعلمة
  • resolution — دقة الفهرس. UInt8. النطاق: [0, 15].
القيم المعادة
  • متوسط طول ضلع الخلية السداسية H3 بوحدة الغراد. Float64.
مثال
Query
Response

h3EdgeLengthM

يحسب متوسط طول حافة السداسي H3 بالأمتار. البنية
المعلمة
  • resolution — دقة الفهرس. UInt8. النطاق: [0, 15].
القيم المُعادة
  • متوسط طول حافة سداسي H3 بالأمتار. Float64.
مثال
Query
Response

h3EdgeLengthKm

يحسب متوسط طول ضلع الخلية السداسية H3 بالكيلومترات. الصيغة
المعامل
  • resolution — دقة الفهرس. UInt8. النطاق: [0, 15].
القيم المُعادة
  • متوسط طول حافة خلية H3 السداسية بالكيلومترات. Float64.
مثال
Query
Response

geoToH3

يعيد فهرس نقطة H3 للإحداثيات (lat, lon) عند مستوى الدقة المحدد. الصياغة
الوسائط
  • lat — خط العرض. Float64.
  • lon — خط الطول. Float64.
  • resolution — دقة الفهرس. النطاق: [0, 15]. UInt8.
القيم المعادة
  • رقم فهرس الخلية السداسية. UInt64.
  • 0 في حال حدوث خطأ. UInt64.
ملاحظة: في ClickHouse v25.4 أو الإصدارات الأقدم، تستقبل geoToH3() القيم بالترتيب (lon, lat). واعتبارًا من ClickHouse v25.5، تصبح قيم الإدخال بالترتيب (lat, lon). ويمكن استعادة السلوك السابق باستخدام الإعداد geotoh3_argument_order = 'lon_lat'. مثال
Query
Response

h3ToGeo

يعيد خطَّي العرض والطول للمركز الهندسي المقابلَين لفهرس H3 المُقدَّم. الصيغة
المعاملات
  • h3Index — فهرس H3. UInt64.
القيم المُعادة
  • Tuple يتكوّن من قيمتين: tuple(lat,lon). ‏lat — خط العرض. Float64. ‏lon — خط الطول. Float64.
ملاحظة: في ClickHouse v24.12 أو الإصدارات الأقدم، تُرجع h3ToGeo() القيم بالترتيب (lon, lat). واعتبارًا من ClickHouse v25.1، تصبح القيم المُعادة بالترتيب (lat, lon). ويمكن استعادة السلوك السابق باستخدام الإعداد h3togeo_lon_lat_result_order = true. مثال
Query
Response

h3ToGeoBoundary

يعيد مصفوفة من الأزواج (lat, lon) تمثل حدود فهرس H3 المُدخل. البنية
الوسائط
  • h3Index — H3 Index. UInt64.
القيم المُعادة مثال
Query
Response

h3kRing

يسرد جميع سداسيات H3 الواقعة ضمن نطاق نصف القطر k انطلاقًا من السداسي المحدد، بترتيب عشوائي. الصيغة
الوسائط
  • h3index — رقم فهرس الخلية السداسية. UInt64.
  • k — نصف القطر. عدد صحيح
القيم المعادة مثال
Query
Response

h3PolygonToCells

يُرجع السداسيات (عند مستوى الدقة المحدد) الواقعة ضمن الشكل الهندسي المُقدَّم، سواء كان حلقة أو مضلعًا (أو متعدد المضلعات). البنية
الوسائط القيم المُعادة
  • مصفوفة من فهارس H3 التي تحتويها. Array(UInt64).
مثال
Query
Response

h3PolygonToCellsWithContainment

يعيد الخلايا السداسية (عند مستوى الدقة المحدد) التي تغطي الشكل الهندسي المُدخل، سواء كان حلقة أو مضلعًا (أو متعدد المضلعات)، باستخدام أوضاع الاحتواء التجريبية في H3. تربط هذه الدالة flags بأوضاع الاحتواء في H3:
  • 0CONTAINMENT_CENTER
  • 1CONTAINMENT_FULL
  • 2CONTAINMENT_OVERLAPPING
  • 3CONTAINMENT_OVERLAPPING_BBOX
الصيغة
المعاملات
  • يمكن أن تكون geometry أحد أنواع البيانات الجغرافية التالية أو أنواعها الأولية المقابلة:
  • resolution — دقة الفهرس. النطاق: [0, 15]. ‏UInt8.
  • flags — وضع الاحتواء. النطاق: [0, 3]. استخدم ثوابت عددية صحيحة مثل 0 و1 و2 و3، أو قيم UInt32 (على سبيل المثال، toUInt32(2)). تُمرَّر القيم إلى واجهة برمجة تطبيقات H3 بصيغة UInt32. وتُحوَّل أنواع الأعداد الصحيحة الأصلية الأخرى بتحويل دقيق.
القيم المُعادة
  • مصفوفة من فهارس H3 وفقًا لوضع الاحتواء المحدد. ‏Array(UInt64).
مثال
Query
Response

h3GetBaseCell

يعيد رقم الخلية الأساسية لفهرس H3. الصياغة
المعامِل
  • index — رقم فهرس الخلية السداسية. UInt64.
القيمة المُعادة
  • رقم الخلية الأساسية للسداسي. UInt8.
مثال
Query
Response

h3HexAreaM2

يُرجع متوسط مساحة الخلية السداسية بالمتر المربع عند مستوى الدقة المحدد. الصيغة
المعامل
  • resolution — دقة الفهرس. النطاق: [0, 15]. UInt8.
القيمة المُعادة
  • المساحة بالمتر المربع. Float64.
مثال
Query
Response

h3HexAreaKm2

يعيد متوسط مساحة الخلية السداسية بالكيلومترات المربعة عند مستوى الدقة المحدد. الصيغة
المعامل
  • resolution — دقة الفهرس. النطاق: [0, 15]. UInt8.
القيمة المُعادة
  • المساحة بالكيلومترات المربعة. Float64.
مثال
Query
Response

h3IndexesAreNeighbors

يُعيد ما إذا كانت فهارس H3 المعطاة متجاورة أم لا. البنية
الوسيطات
  • index1 — رقم فهرس الخلية السداسية. UInt64.
  • index2 — رقم فهرس الخلية السداسية. UInt64.
القيمة المُعادة
  • 1 — الفهرسان متجاوران. UInt8.
  • 0 — الفهرسان غير متجاورين. UInt8.
مثال
Query
Response

h3ToChildren

تُرجِع مصفوفة من الفهارس الفرعية للفهرس H3 المحدَّد. الصيغة
الوسيطات
  • index — رقم فهرس الخلية السداسية. UInt64.
  • resolution — دقة المعرّف. النطاق: [0, 15]. UInt8.
القيم المُعادة مثال
Query
Response

h3ToParent

يعيد الفهرس الأب (الأقل دقة) الذي يحتوي على فهرس H3 المحدد. البنية
الوسائط
  • index — رقم فهرس الخلية السداسية. UInt64.
  • resolution — دقة الفهرس. النطاق: [0, 15]. UInt8.
القيمة المُعادة
  • فهرس H3 الأب. UInt64.
مثال
Query
Response

h3ToString

يحوّل تمثيل H3Index الخاص بالفهرس إلى تمثيله النصي.
المعامل
  • index — رقم فهرس الخلية السداسية. UInt64.
القيمة المُعادة
  • التمثيل النصي لفهرس H3. String.
مثال
Query
Response

stringToH3

يحوّل التمثيل النصي إلى تمثيل H3Index ‏(UInt64). البنية
المعامل
  • index_str — التمثيل النصي لفهرس H3. سلسلة.
القيمة المُعادة
  • رقم فهرس الخلية السداسية. تُرجع القيمة 0 عند حدوث خطأ. UInt64.
مثال
Query
Response

h3GetResolution

يعيد مستوى الدقة لفهرس H3. الصيغة
المعامل
  • index — رقم فهرس الخلية السداسية. UInt64.
القيمة المُعادة
  • مستوى دقة الفهرس. النطاق: [0, 15]. UInt8.
مثال
Query
Response

h3IsResClassIII

تُرجِع ما إذا كان لفهرس H3 درجة دقة ذات اتجاه من الفئة III. البنية
المعامل
  • index — رقم فهرس الخلية السداسية. UInt64.
القيمة المعادة
  • 1 — للفهرس مستوى دقة ذو اتجاه من الفئة III. UInt8.
  • 0 — ليس للفهرس مستوى دقة ذو اتجاه من الفئة III. UInt8.
مثال
Query
Response

h3IsPentagon

يُرجع ما إذا كان فهرس H3 هذا يمثّل خلية خماسية الأضلاع. الصياغة
المعلمة
  • index — رقم فهرس الخلية السداسية. UInt64.
القيمة المُعادة
  • 1 — يمثّل الفهرس خلية خماسية الأضلاع. UInt8.
  • 0 — لا يمثّل الفهرس خلية خماسية الأضلاع. UInt8.
مثال
Query
Response

h3GetFaces

يعيد أوجه عشروني السطوح التي يتقاطع معها مؤشر H3 معيّن. الصيغة
المعلمة
  • index — رقم فهرس الخلية السداسية. UInt64.
القيم المعادة
  • مصفوفة تحتوي على أوجه المجسّم عشرونيّ الوجوه التي يتقاطع معها فهرس H3 معيّن. Array(UInt64).
مثال
Query
Response

h3CellAreaM2

تُرجِع المساحة الدقيقة، بالمتر المربع، لخلية محددة تقابل قيمة H3 index المُدخلة. الصيغة
المعامل
  • index — رقم فهرس الخلية السداسية. UInt64.
القيمة المعادة
  • مساحة الخلية بالأمتار المربعة. Float64.
مثال
Query
Response

h3CellAreaRads2

يعيد المساحة الدقيقة لخلية محددة، مقاسةً بالراديان المربع، والمطابقة لفهرس H3 المُدخل. البنية
المعامل
  • index — رقم فهرس الخلية السداسية. UInt64.
القيمة المُعادة
  • مساحة الخلية بوحدة الراديان المربّع. Float64.
مثال
Query
Response

h3ToCenterChild

تُرجِع فهرس H3 الابن المركزي (الأدق) الواقع ضمن فهرس H3 المُعطى عند درجة الدقة المحددة. الصياغة
المعامل
  • index — رقم فهرس الخلية السداسية. UInt64.
  • resolution — دقة الفهرس. النطاق: [0, 15]. UInt8.
القيم المُعادة
  • فهرس H3 للخلية الفرعية المركزية الواقعة ضمن فهرس H3 المحدد عند درجة الدقة المعطاة. UInt64.
مثال
Query
Response

h3ExactEdgeLengthM

يعيد الطول الدقيق للحافة أحادية الاتجاه التي يمثّلها فهرس H3 المُدخل، بالأمتار. الصيغة
المعامل
  • index — رقم فهرس الخلية السداسية. UInt64.
القيمة المُعادة
  • الطول الدقيق للحافة بالأمتار. Float64.
مثال
Query
Response

h3ExactEdgeLengthKm

يُرجِع الطول الدقيق للحافة أحادية الاتجاه التي يمثّلها فهرس H3 المُدخَل، بالكيلومترات. البنية
المعامل
  • index — رقم فهرس الخلية السداسية. UInt64.
القيمة المُعادة
  • الطول الدقيق للحافة بالكيلومترات. Float64.
مثال
Query
Response

h3ExactEdgeLengthRads

تعيد الطول الدقيق للحافة أحادية الاتجاه التي يمثّلها فهرس h3 المُدخل، بالراديان. الصيغة
المعامل
  • index — رقم فهرس الخلية السداسية. UInt64.
القيمة المُعادة
  • الطول الدقيق للحافة بالراديان. Float64.
مثال
Query
Response

h3NumHexagons

يعيد عدد فهارس H3 الفريدة عند مستوى الدقة المحدد. الصياغة
المعامل
  • resolution — دقة الفهرس. النطاق: [0, 15]. UInt8.
القيمة المُعادة
  • عدد فهارس H3. Int64.
مثال
Query
Response

h3PointDistM

تعيد مسافة “الدائرة العظمى” أو “هافرسين” بين كل زوج من نقاط GeoCoord ‏(خط العرض/خط الطول)، بالمتر. البنية
الوسائط
  • lat1, lon1 — خط العرض وخط الطول للنقطة 1 بالدرجات. Float64.
  • lat2, lon2 — خط العرض وخط الطول للنقطة 2 بالدرجات. Float64.
القيم المعادة
  • مسافة هافرسين أو مسافة الدائرة العظمى بالأمتار.Float64.
مثال
Query
Response

h3PointDistKm

يعيد مسافة “الدائرة العظمى” أو مسافة “هافرسين” بين أزواج من نقاط GeoCoord (خط العرض/خط الطول) بالكيلومترات. البنية
المعاملات
  • lat1, lon1 — خط العرض وخط الطول للنقطة 1 بالدرجات. Float64.
  • lat2, lon2 — خط العرض وخط الطول للنقطة 2 بالدرجات. Float64.
القيم المُعادة
  • مسافة هافرسين أو مسافة الدائرة العظمى بالكيلومترات. Float64.
مثال
Query
Response

h3PointDistRads

تعيد مسافة “الدائرة العظمى” أو مسافة “هافرسين” بين أزواج من نقاط GeoCoord ‏(خط العرض/خط الطول) بوحدة الراديان. الصيغة
الوسائط
  • lat1, lon1 — خط العرض وخط الطول للنقطة 1 بالدرجات. Float64.
  • lat2, lon2 — خط العرض وخط الطول للنقطة 2 بالدرجات. Float64.
القيم المعادة
  • مسافة هافرسين أو مسافة الدائرة العظمى بالراديان. Float64.
مثال
Query
Response

h3GetRes0Indexes

يعيد مصفوفة تضم جميع فهارس H3 عند مستوى الدقة 0. الصيغة
القيم المُعادة
  • مصفوفة تضم جميع فهارس H3 عند مستوى الدقة 0. مصفوفة(UInt64).
مثال
Query
Response

h3GetPentagonIndexes

يعيد جميع فهارس H3 الخماسية عند مستوى الوضوح المحدد. الصياغة
المعلمة
  • resolution — دقة الفهرس. النطاق: [0, 15]. UInt8.
القيمة المُعادة مثال
Query
Response

h3Line

يعيد الخط الواصل بين الفهرسين المُعطيين. الصيغة
المعلمات
  • start — رقم فهرس الخلية السداسية الذي يمثّل نقطة البداية. UInt64.
  • end — رقم فهرس الخلية السداسية الذي يمثّل نقطة النهاية. UInt64.
القيمة المُعادة مصفوفة من فهارس H3 تمثّل خط الفهارس بين الفهرسين المحددين. Array(UInt64). مثال
Query
Response

h3Distance

تعيد المسافة، بوحدة خلايا الشبكة، بين المؤشرين المُقدَّمين. الصيغة
المعامل
  • start — رقم فهرس الخلية السداسية الذي يمثّل نقطة البداية. UInt64.
  • end — رقم فهرس الخلية السداسية الذي يمثّل نقطة النهاية. UInt64.
القيمة المعادة
  • عدد خلايا الشبكة. Int64.
يعيد عددًا سالبًا إذا تعذّر حساب المسافة. مثال
Query
Response

h3HexRing

تُرجع الفهارس الخاصة بالحلقة السداسية المتمركزة حول origin ‏h3Index المُعطى وبطول k. تُرجع 0 إذا لم يُرصد أي تشوّه خماسي. البنية
المعاملات
  • index — رقم فهرس الخلية السداسية الذي يمثّل الخلية الأصل. UInt64.
  • k — المسافة. UInt64.
القيم المُعادة مثال
Query
Response

h3GetUnidirectionalEdge

يعيد فهرس H3 لحافة أحادية الاتجاه استنادًا إلى الأصل والوجهة المحدَّدين، ويعيد 0 عند حدوث خطأ. الصيغة
المعامل
  • originIndex — رقم فهرس الخلية السداسية الأصلي. UInt64.
  • destinationIndex — رقم فهرس الخلية السداسية للوجهة. UInt64.
القيمة المُعادة
  • رقم فهرس الخلية السداسية للحافة أحادية الاتجاه. UInt64.
مثال
Query
Response

h3UnidirectionalEdgeIsValid

يحدِّد ما إذا كان H3Index المُقدَّم فهرس حافة أحادية الاتجاه صالحًا. يعيد القيمة 1 إذا كان حافة أحادية الاتجاه، و0 بخلاف ذلك. البنية
المعلمة
  • index — رقم فهرس الخلية السداسية. UInt64.
القيمة المعادة
  • 1 — فهرس H3 هو حافة أحادية الاتجاه صالحة. UInt8.
  • 0 — فهرس H3 ليس حافة أحادية الاتجاه صالحة. UInt8.
مثال
Query
Response

h3GetOriginIndexFromUnidirectionalEdge

يعيد مؤشر السداسي الأصلي من H3Index الخاص بالحافة أحادية الاتجاه. الصياغة
المعلمة
  • edge — رقم فهرس الخلية السداسية الذي يمثّل حافة أحادية الاتجاه. UInt64.
القيمة المُعادة
  • رقم فهرس الخلية السداسية المصدر. UInt64.
مثال
Query
Response

h3GetDestinationIndexFromUnidirectionalEdge

يعيد فهرس الخلية السداسية للوجهة من H3Index للحافة أحادية الاتجاه. الصياغة
المعامل
  • edge — رقم فهرس الخلية السداسية الذي يمثّل حافة أحادية الاتجاه. UInt64.
القيمة المُعادة
  • رقم فهرس الخلية السداسية للوجهة. UInt64.
مثال
Query
Response

h3GetIndexesFromUnidirectionalEdge

يعيد فهارس السداسيات عند نقطتَي المنشأ والوجهة من H3Index للحافة أحادية الاتجاه المحددة. البنية
المعلمة
  • edge — رقم فهرس الخلية السداسية الذي يمثّل حافة أحادية الاتجاه. UInt64.
القيمة المعادة زوج مرتب يتكوّن من قيمتين tuple(origin,destination):
  • origin — رقم فهرس الخلية السداسية للمنشأ. UInt64.
  • destination — رقم فهرس الخلية السداسية للوجهة. UInt64.
تُرجِع (0,0) إذا كانت قيمة الإدخال المقدَّمة غير صالحة. مثال
Query
Response

h3GetUnidirectionalEdgesFromHexagon

يوفّر جميع الحواف أحادية الاتجاه الخارجة من قيمة H3Index المقدَّمة. الصيغة
المعلمة
  • index — رقم فهرس الخلية السداسية الذي يمثّل حافة أحادية الاتجاه. UInt64.
القيمة المُعادة مصفوفة من فهارس H3 تمثّل كل حافة أحادية الاتجاه. Array(UInt64). مثال
Query
Response

h3GetUnidirectionalEdgeBoundary

تُرجِع الإحداثيات التي تُعرِّف الحافة أحادية الاتجاه. البنية
المعامل
  • index — رقم فهرس الخلية السداسية الذي يمثّل حافة أحادية الاتجاه. UInt64.
القيمة المُعادة مثال
Query
Response
آخر تعديل في ٣ يوليو ٢٠٢٦