> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-parallel-read-in-order-multi-part.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> توثيق H3

# دوال للعمل مع فهارس H3

<h2 id="h3-index">
  فهرس H3
</h2>

يُعد [H3](https://h3geo.org/) نظام فهرسة جغرافية تُقسَّم فيه سطح الأرض إلى شبكة من الخلايا السداسية المتساوية. وهذا النظام هرمي، أي إن كل سداسي في المستوى الأعلى ("الأصل") يمكن تقسيمه إلى سبعة سداسيات متساوية أصغر حجمًا ("الفروع")، وهكذا.

يُسمّى مستوى هذا التسلسل الهرمي `resolution`، ويمكن أن يأخذ قيمة من `0` إلى `15`، حيث إن `0` هو مستوى `base` الذي يضم أكبر الخلايا وأقلها دقة.

يمكن تحويل زوج من خط العرض وخط الطول إلى فهرس H3 بطول 64 بت، يحدِّد خلية في الشبكة.

يُستخدم فهرس H3 أساسًا لتجميع المواقع الجغرافية وإجراء المعالجات المكانية الأخرى.

يتوفر الوصف الكامل لنظام H3 على [موقع Uber Engineering](https://www.uber.com/blog/h3/).

<h2 id="h3isvalid">
  h3IsValid
</h2>

يتحقق مما إذا كان الرقم يمثّل فهرس [H3](#h3-index) صالحًا.

**البنية**

```sql theme={null}
h3IsValid(h3index)
```

**المعلمة**

* `h3index` — رقم فهرس الخلية السداسية. [UInt64](/ar/reference/data-types/int-uint).

**القيم المُعادة**

* 1 — الرقم فهرس H3 صالح. [UInt8](/ar/reference/data-types/int-uint).
* 0 — الرقم ليس فهرس H3 صالحًا. [UInt8](/ar/reference/data-types/int-uint).

**مثال**

```sql title="Query" theme={null}
SELECT h3IsValid(630814730351855103) AS h3IsValid;
```

```text title="Response" theme={null}
┌─h3IsValid─┐
│         1 │
└───────────┘
```

<h2 id="h3getresolution">
  h3GetResolution
</h2>

يحدّد مستوى الدقة لفهرس [H3](#h3-index) المُعطى.

**البنية**

```sql theme={null}
h3GetResolution(h3index)
```

**المعلمة**

* `h3index` — رقم فهرس الخلية السداسية. [UInt64](/ar/reference/data-types/int-uint).

**القيم المُعادة**

* دقة الفهرس. النطاق: `[0, 15]`. [UInt8](/ar/reference/data-types/int-uint).
* إذا كان الفهرس غير صالح، فستُرجع الدالة قيمة عشوائية. استخدم [h3IsValid](#h3isvalid) للتحقق من صحة الفهرس. [UInt8](/ar/reference/data-types/int-uint).

**مثال**

```sql title="Query" theme={null}
SELECT h3GetResolution(639821929606596015) AS resolution;
```

```text title="Response" theme={null}
┌─resolution─┐
│         14 │
└────────────┘
```

<h2 id="h3edgeangle">
  h3EdgeAngle
</h2>

يحسب متوسط طول ضلع السداسي في [H3](#h3-index) بوحدة الغراد.

**الصيغة**

```sql theme={null}
h3EdgeAngle(resolution)
```

**المعلمة**

* `resolution` — دقة الفهرس. [UInt8](/ar/reference/data-types/int-uint). النطاق: `[0, 15]`.

**القيم المعادة**

* متوسط طول ضلع الخلية السداسية [H3](#h3-index) بوحدة الغراد. [Float64](/ar/reference/data-types/float).

**مثال**

```sql title="Query" theme={null}
SELECT h3EdgeAngle(10) AS edgeAngle;
```

```text title="Response" theme={null}
┌───────h3EdgeAngle(10)─┐
│ 0.0005927224846720883 │
└───────────────────────┘
```

<h2 id="h3edgelengthm">
  h3EdgeLengthM
</h2>

يحسب متوسط طول حافة السداسي [H3](#h3-index) بالأمتار.

**البنية**

```sql theme={null}
h3EdgeLengthM(resolution)
```

**المعلمة**

* `resolution` — دقة الفهرس. [UInt8](/ar/reference/data-types/int-uint). النطاق: `[0, 15]`.

**القيم المُعادة**

* متوسط طول حافة سداسي [H3](#h3-index) بالأمتار. [Float64](/ar/reference/data-types/float).

**مثال**

```sql title="Query" theme={null}
SELECT h3EdgeLengthM(15) AS edgeLengthM;
```

```text title="Response" theme={null}
┌─edgeLengthM─┐
│ 0.509713273 │
└─────────────┘
```

<h2 id="h3edgelengthkm">
  h3EdgeLengthKm
</h2>

يحسب متوسط طول ضلع الخلية السداسية [H3](#h3-index) بالكيلومترات.

**الصيغة**

```sql theme={null}
h3EdgeLengthKm(resolution)
```

**المعامل**

* `resolution` — دقة الفهرس. [UInt8](/ar/reference/data-types/int-uint). النطاق: `[0, 15]`.

**القيم المُعادة**

* متوسط طول حافة خلية [H3](#h3-index) السداسية بالكيلومترات. [Float64](/ar/reference/data-types/float).

**مثال**

```sql title="Query" theme={null}
SELECT h3EdgeLengthKm(15) AS edgeLengthKm;
```

```text title="Response" theme={null}
┌─edgeLengthKm─┐
│  0.000509713 │
└──────────────┘
```

<h2 id="geotoh3">
  geoToH3
</h2>

يعيد فهرس نقطة [H3](#h3-index) للإحداثيات `(lat, lon)` عند مستوى الدقة المحدد.

**الصياغة**

```sql theme={null}
geoToH3(lat, lon, resolution)
```

**الوسائط**

* `lat` — خط العرض. [Float64](/ar/reference/data-types/float).
* `lon` — خط الطول. [Float64](/ar/reference/data-types/float).
* `resolution` — دقة الفهرس. النطاق: `[0, 15]`. [UInt8](/ar/reference/data-types/int-uint).

**القيم المعادة**

* رقم فهرس الخلية السداسية. [UInt64](/ar/reference/data-types/int-uint).
* 0 في حال حدوث خطأ. [UInt64](/ar/reference/data-types/int-uint).

ملاحظة: في ClickHouse v25.4 أو الإصدارات الأقدم، تستقبل `geoToH3()` القيم بالترتيب `(lon, lat)`. واعتبارًا من ClickHouse v25.5، تصبح قيم الإدخال بالترتيب `(lat, lon)`. ويمكن استعادة السلوك السابق باستخدام الإعداد `geotoh3_argument_order = 'lon_lat'`.

**مثال**

```sql title="Query" theme={null}
SELECT geoToH3(55.71290588, 37.79506683, 15) AS h3Index;
```

```text title="Response" theme={null}
┌────────────h3Index─┐
│ 644325524701193974 │
└────────────────────┘
```

<h2 id="h3togeo">
  h3ToGeo
</h2>

يعيد خطَّي العرض والطول للمركز الهندسي المقابلَين لفهرس [H3](#h3-index) المُقدَّم.

**الصيغة**

```sql theme={null}
h3ToGeo(h3Index)
```

**المعاملات**

* `h3Index` — فهرس H3. [UInt64](/ar/reference/data-types/int-uint).

**القيم المُعادة**

* `Tuple` يتكوّن من قيمتين: `tuple(lat,lon)`. ‏`lat` — خط العرض. [Float64](/ar/reference/data-types/float). ‏`lon` — خط الطول. [Float64](/ar/reference/data-types/float).

ملاحظة: في ClickHouse v24.12 أو الإصدارات الأقدم، تُرجع `h3ToGeo()` القيم بالترتيب `(lon, lat)`. واعتبارًا من ClickHouse v25.1، تصبح القيم المُعادة بالترتيب `(lat, lon)`. ويمكن استعادة السلوك السابق باستخدام الإعداد `h3togeo_lon_lat_result_order = true`.

**مثال**

```sql title="Query" theme={null}
SELECT h3ToGeo(644325524701193974) AS coordinates;
```

```text title="Response" theme={null}
┌─coordinates───────────────────────────┐
│ (55.71290243145668,37.79506616830252) │
└───────────────────────────────────────┘
```

<h2 id="h3togeoboundary">
  h3ToGeoBoundary
</h2>

يعيد مصفوفة من الأزواج `(lat, lon)` تمثل حدود فهرس H3 المُدخل.

**البنية**

```sql theme={null}
h3ToGeoBoundary(h3Index)
```

**الوسائط**

* `h3Index` — H3 Index. [UInt64](/ar/reference/data-types/int-uint).

**القيم المُعادة**

* [Array](/ar/reference/data-types/array) من الأزواج '(lat, lon)'. ([Float64](/ar/reference/data-types/float), [Float64](/ar/reference/data-types/float)).

**مثال**

```sql title="Query" theme={null}
SELECT h3ToGeoBoundary(644325524701193974) AS coordinates;
```

```text title="Response" theme={null}
┌─h3ToGeoBoundary(599686042433355775)────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ [(37.2713558667319,-121.91508032705622),(37.353926450852256,-121.8622232890249),(37.42834118609435,-121.92354999630156),(37.42012867767779,-122.03773496427027),(37.33755608435299,-122.090428929044),(37.26319797461824,-122.02910130919001)] │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
```

<h2 id="h3kring">
  h3kRing
</h2>

يسرد جميع سداسيات [H3](#h3-index) الواقعة ضمن نطاق نصف القطر `k` انطلاقًا من السداسي المحدد، بترتيب عشوائي.

**الصيغة**

```sql theme={null}
h3kRing(h3index, k)
```

**الوسائط**

* `h3index` — رقم فهرس الخلية السداسية. [UInt64](/ar/reference/data-types/int-uint).
* `k` — نصف القطر. [عدد صحيح](/ar/reference/data-types/int-uint)

**القيم المعادة**

* مصفوفة من فهارس H3. [مصفوفة](/ar/reference/data-types/array)([UInt64](/ar/reference/data-types/int-uint)).

**مثال**

```sql title="Query" theme={null}
SELECT arrayJoin(h3kRing(644325529233966508, 1)) AS h3index;
```

```text title="Response" theme={null}
┌────────────h3index─┐
│ 644325529233966508 │
│ 644325529233966497 │
│ 644325529233966510 │
│ 644325529233966504 │
│ 644325529233966509 │
│ 644325529233966355 │
│ 644325529233966354 │
└────────────────────┘
```

<h2 id="h3polygontocells">
  h3PolygonToCells
</h2>

يُرجع السداسيات (عند مستوى الدقة المحدد) الواقعة ضمن الشكل الهندسي المُقدَّم، سواء كان حلقة أو مضلعًا (أو متعدد المضلعات). يُعد السداسي واقعًا ضمن الشكل عندما يحتوي الشكل الهندسي على مركزه، وهو وضع الاحتواء `0` في [h3PolygonToCellsWithContainment](#h3polygontocellswithcontainment).

يجب أن تقع كل قمة من قمم الشكل الهندسي على الكرة: ضمن نطاق خط الطول `[-180, 180]` وخط العرض `[-90, 90]` بالدرجات. لا يُضمن ترتيب الخلايا المُعادة، لذا رتّب المصفوفة عندما يكون الترتيب مهمًا.

**الصيغة**

```sql theme={null}
h3PolygonToCells(geometry, resolution)
```

**الوسائط**

* يمكن أن تكون `geometry` أحد [أنواع البيانات الجغرافية](/ar/reference/data-types/geo) التالية أو أنواعها الأولية الأساسية:
  * [Ring](/ar/reference/data-types/geo#ring)
  * [Polygon](/ar/reference/data-types/geo#polygon)
  * [MultiPolygon](/ar/reference/data-types/geo#multipolygon)
* `resolution` — دقة الفهرس. النطاق: `[0, 15]`. [UInt8](/ar/reference/data-types/int-uint).

**القيم المُعادة**

* مصفوفة من فهارس H3 التي تحتويها. [Array](/ar/reference/data-types/array)([UInt64](/ar/reference/data-types/int-uint)).

**مثال**

```sql title="Query" theme={null}
SELECT h3PolygonToCells([(-122.4089866999972145,37.813318999983238),(-122.3544736999993603,37.7198061999978478),(-122.4798767000009008,37.8151571999998453)], 7) AS h3index;
```

```text title="Response" theme={null}
┌────────────h3index─┐
│ 608692970585063423 │
│ 608692970719281151 │
│ 608692970752835583 │
│ 608692970769612799 │
│ 608692970819944447 │
│ 608692971927240703 │
│ 608692972027903999 │
└────────────────────┘
```

<h2 id="h3polygontocellswithcontainment">
  h3PolygonToCellsWithContainment
</h2>

يعيد الخلايا السداسية (عند مستوى الدقة المحدد) التي تغطي الشكل الهندسي المُدخل، سواء كان حلقة أو مضلعًا (أو متعدد المضلعات)، باستخدام أوضاع الاحتواء التجريبية في H3.

يجب أن تكون كل قمة في الشكل الهندسي على الكرة: خط الطول ضمن النطاق `[-180, 180]` وخط العرض ضمن النطاق `[-90, 90]` درجة. لا يُضمن ترتيب الخلايا المُعادة، لذا رتّب المصفوفة عندما يكون الترتيب مهمًا.

تربط هذه الدالة `flags` بأوضاع الاحتواء في H3:

* `0` — `CONTAINMENT_CENTER`
* `1` — `CONTAINMENT_FULL`
* `2` — `CONTAINMENT_OVERLAPPING`
* `3` — `CONTAINMENT_OVERLAPPING_BBOX`

**الصيغة**

```sql theme={null}
h3PolygonToCellsWithContainment(geometry, resolution, flags)
```

**الوسائط**

* يمكن أن تكون `geometry` أحد [أنواع البيانات الجغرافية](/ar/reference/data-types/geo) التالية أو أنواعها الأولية الأساسية:
  * [Ring](/ar/reference/data-types/geo#ring)
  * [Polygon](/ar/reference/data-types/geo#polygon)
  * [MultiPolygon](/ar/reference/data-types/geo#multipolygon)
* `resolution` — دقة الفهرس. النطاق: `[0, 15]`. ‏[UInt8](/ar/reference/data-types/int-uint).
* `flags` — وضع الاحتواء. النطاق: `[0, 3]`. استخدم ثوابت عددية صحيحة مثل `0` و`1` و`2` و`3`، أو قيم [UInt32](/ar/reference/data-types/int-uint) (على سبيل المثال، `toUInt32(2)`). تُمرَّر القيم إلى واجهة برمجة تطبيقات H3 بصيغة `UInt32`. وتُحوَّل أنواع الأعداد الصحيحة الأصلية الأخرى بتحويل دقيق.

**القيم المُعادة**

* مصفوفة من فهارس H3 وفقًا لوضع الاحتواء المحدد. ‏[Array](/ar/reference/data-types/array)([UInt64](/ar/reference/data-types/int-uint)).

**مثال**

```sql title="Query" theme={null}
SELECT
    h3PolygonToCellsWithContainment([(-122.4089866999972145, 37.813318999983238), (-122.3544736999993603, 37.7198061999978478), (-122.4798767000009008, 37.8151571999998453)], 7, 0) AS center_cells,
    h3PolygonToCellsWithContainment([(-122.4089866999972145, 37.813318999983238), (-122.3544736999993603, 37.7198061999978478), (-122.4798767000009008, 37.8151571999998453)], 7, 2) AS overlap_cells;
```

```text title="Response" theme={null}
   ┌─center_cells───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬─overlap_cells──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
1. │ [608692970585063423,608692970719281151,608692970752835583,608692970769612799,608692970819944447,608692971927240703,608692972027903999] │ [608692970249519103,608692970266296319,608692970585063423,608692970601840639,608692970635395071,608692970685726719,608692970719281151,608692970736058367,608692970752835583,608692970769612799,608692970786390015,608692970819944447,608692971927240703,608692971994349567,608692972027903999] │
   └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
```

<h2 id="h3getbasecell">
  h3GetBaseCell
</h2>

يعيد رقم الخلية الأساسية لفهرس [H3](#h3-index).

**الصياغة**

```sql theme={null}
h3GetBaseCell(index)
```

**المعامِل**

* `index` — رقم فهرس الخلية السداسية. [UInt64](/ar/reference/data-types/int-uint).

**القيمة المُعادة**

* رقم الخلية الأساسية للسداسي. [UInt8](/ar/reference/data-types/int-uint).

**مثال**

```sql title="Query" theme={null}
SELECT h3GetBaseCell(612916788725809151) AS basecell;
```

```text title="Response" theme={null}
┌─basecell─┐
│       12 │
└──────────┘
```

<h2 id="h3hexaream2">
  h3HexAreaM2
</h2>

يُرجع متوسط مساحة الخلية السداسية بالمتر المربع عند مستوى الدقة المحدد.

**الصيغة**

```sql theme={null}
h3HexAreaM2(resolution)
```

**المعامل**

* `resolution` — دقة الفهرس. النطاق: `[0, 15]`. [UInt8](/ar/reference/data-types/int-uint).

**القيمة المُعادة**

* المساحة بالمتر المربع. [Float64](/ar/reference/data-types/float).

**مثال**

```sql title="Query" theme={null}
SELECT h3HexAreaM2(13) AS area;
```

```text title="Response" theme={null}
┌─area─┐
│ 43.9 │
└──────┘
```

<h2 id="h3hexareakm2">
  h3HexAreaKm2
</h2>

يعيد متوسط مساحة الخلية السداسية بالكيلومترات المربعة عند مستوى الدقة المحدد.

**الصيغة**

```sql theme={null}
h3HexAreaKm2(resolution)
```

**المعامل**

* `resolution` — دقة الفهرس. النطاق: `[0, 15]`. [UInt8](/ar/reference/data-types/int-uint).

**القيمة المُعادة**

* المساحة بالكيلومترات المربعة. [Float64](/ar/reference/data-types/float).

**مثال**

```sql title="Query" theme={null}
SELECT h3HexAreaKm2(13) AS area;
```

```text title="Response" theme={null}
┌──────area─┐
│ 0.0000439 │
└───────────┘
```

<h2 id="h3indexesareneighbors">
  h3IndexesAreNeighbors
</h2>

يُعيد ما إذا كانت فهارس [H3](#h3-index) المعطاة متجاورة أم لا.

**البنية**

```sql theme={null}
h3IndexesAreNeighbors(index1, index2)
```

**الوسيطات**

* `index1` — رقم فهرس الخلية السداسية. [UInt64](/ar/reference/data-types/int-uint).
* `index2` — رقم فهرس الخلية السداسية. [UInt64](/ar/reference/data-types/int-uint).

**القيمة المُعادة**

* `1` — الفهرسان متجاوران. [UInt8](/ar/reference/data-types/int-uint).
* `0` — الفهرسان غير متجاورين. [UInt8](/ar/reference/data-types/int-uint).

**مثال**

```sql title="Query" theme={null}
SELECT h3IndexesAreNeighbors(617420388351344639, 617420388352655359) AS n;
```

```text title="Response" theme={null}
┌─n─┐
│ 1 │
└───┘
```

<h2 id="h3tochildren">
  h3ToChildren
</h2>

تُرجِع مصفوفة من الفهارس الفرعية للفهرس [H3](#h3-index) المحدَّد.

**الصيغة**

```sql theme={null}
h3ToChildren(index, resolution)
```

**الوسيطات**

* `index` — رقم فهرس الخلية السداسية. [UInt64](/ar/reference/data-types/int-uint).
* `resolution` — دقة المعرّف. النطاق: `[0, 15]`. [UInt8](/ar/reference/data-types/int-uint).

**القيم المُعادة**

* مصفوفة من معرّفات H3 الفرعية. [مصفوفة](/ar/reference/data-types/array)([UInt64](/ar/reference/data-types/int-uint)).

**مثال**

```sql title="Query" theme={null}
SELECT h3ToChildren(599405990164561919, 6) AS children;
```

```text title="Response" theme={null}
┌─children───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ [603909588852408319,603909588986626047,603909589120843775,603909589255061503,603909589389279231,603909589523496959,603909589657714687] │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
```

<h2 id="h3toparent">
  h3ToParent
</h2>

يعيد الفهرس الأب (الأقل دقة) الذي يحتوي على فهرس [H3](#h3-index) المحدد.

**البنية**

```sql theme={null}
h3ToParent(index, resolution)
```

**الوسائط**

* `index` — رقم فهرس الخلية السداسية. [UInt64](/ar/reference/data-types/int-uint).
* `resolution` — دقة الفهرس. النطاق: `[0, 15]`. [UInt8](/ar/reference/data-types/int-uint).

**القيمة المُعادة**

* فهرس H3 الأب. [UInt64](/ar/reference/data-types/int-uint).

**مثال**

```sql title="Query" theme={null}
SELECT h3ToParent(599405990164561919, 3) AS parent;
```

```text title="Response" theme={null}
┌─────────────parent─┐
│ 590398848891879423 │
└────────────────────┘
```

<h2 id="h3tostring">
  h3ToString
</h2>

يحوّل تمثيل `H3Index` الخاص بالفهرس إلى تمثيله النصي.

```sql theme={null}
h3ToString(index)
```

**المعامل**

* `index` — رقم فهرس الخلية السداسية. [UInt64](/ar/reference/data-types/int-uint).

**القيمة المُعادة**

* التمثيل النصي لفهرس H3. [String](/ar/reference/data-types/string).

**مثال**

```sql title="Query" theme={null}
SELECT h3ToString(617420388352917503) AS h3_string;
```

```text title="Response" theme={null}
┌─h3_string───────┐
│ 89184926cdbffff │
└─────────────────┘
```

<h2 id="stringtoh3">
  stringToH3
</h2>

يحوّل التمثيل النصي إلى تمثيل `H3Index` ‏(UInt64).

**البنية**

```sql theme={null}
stringToH3(index_str)
```

**المعامل**

* `index_str` — التمثيل النصي لفهرس H3. [سلسلة](/ar/reference/data-types/string).

**القيمة المُعادة**

* رقم فهرس الخلية السداسية. تُرجع القيمة 0 عند حدوث خطأ. [UInt64](/ar/reference/data-types/int-uint).

**مثال**

```sql title="Query" theme={null}
SELECT stringToH3('89184926cc3ffff') AS index;
```

```text title="Response" theme={null}
┌──────────────index─┐
│ 617420388351344639 │
└────────────────────┘
```

<h2 id="h3getresolution-1">
  h3GetResolution
</h2>

يعيد مستوى الدقة لفهرس [H3](#h3-index).

**الصيغة**

```sql theme={null}
h3GetResolution(index)
```

**المعامل**

* `index` — رقم فهرس الخلية السداسية. [UInt64](/ar/reference/data-types/int-uint).

**القيمة المُعادة**

* مستوى دقة الفهرس. النطاق: `[0, 15]`. [UInt8](/ar/reference/data-types/int-uint).

**مثال**

```sql title="Query" theme={null}
SELECT h3GetResolution(617420388352917503) AS res;
```

```text title="Response" theme={null}
┌─res─┐
│   9 │
└─────┘
```

<h2 id="h3isresclassiii">
  h3IsResClassIII
</h2>

تُرجِع ما إذا كان لفهرس [H3](#h3-index) درجة دقة ذات اتجاه من الفئة III.

**البنية**

```sql theme={null}
h3IsResClassIII(index)
```

**المعامل**

* `index` — رقم فهرس الخلية السداسية. [UInt64](/ar/reference/data-types/int-uint).

**القيمة المعادة**

* `1` — للفهرس مستوى دقة ذو اتجاه من الفئة III. [UInt8](/ar/reference/data-types/int-uint).
* `0` — ليس للفهرس مستوى دقة ذو اتجاه من الفئة III. [UInt8](/ar/reference/data-types/int-uint).

**مثال**

```sql title="Query" theme={null}
SELECT h3IsResClassIII(617420388352917503) AS res;
```

```text title="Response" theme={null}
┌─res─┐
│   1 │
└─────┘
```

<h2 id="h3ispentagon">
  h3IsPentagon
</h2>

يُرجع ما إذا كان فهرس [H3](#h3-index) هذا يمثّل خلية خماسية الأضلاع.

**الصياغة**

```sql theme={null}
h3IsPentagon(index)
```

**المعلمة**

* `index` — رقم فهرس الخلية السداسية. [UInt64](/ar/reference/data-types/int-uint).

**القيمة المُعادة**

* `1` — يمثّل الفهرس خلية خماسية الأضلاع. [UInt8](/ar/reference/data-types/int-uint).
* `0` — لا يمثّل الفهرس خلية خماسية الأضلاع. [UInt8](/ar/reference/data-types/int-uint).

**مثال**

```sql title="Query" theme={null}
SELECT h3IsPentagon(644721767722457330) AS pentagon;
```

```text title="Response" theme={null}
┌─pentagon─┐
│        0 │
└──────────┘
```

<h2 id="h3getfaces">
  h3GetFaces
</h2>

يعيد أوجه عشروني السطوح التي يتقاطع معها مؤشر [H3](#h3-index) معيّن.

**الصيغة**

```sql theme={null}
h3GetFaces(index)
```

**المعلمة**

* `index` — رقم فهرس الخلية السداسية. [UInt64](/ar/reference/data-types/int-uint).

**القيم المعادة**

* مصفوفة تحتوي على أوجه المجسّم عشرونيّ الوجوه التي يتقاطع معها فهرس H3 معيّن. [Array](/ar/reference/data-types/array)([UInt64](/ar/reference/data-types/int-uint)).

**مثال**

```sql title="Query" theme={null}
SELECT h3GetFaces(599686042433355775) AS faces;
```

```text title="Response" theme={null}
┌─faces─┐
│ [7]   │
└───────┘
```

<h2 id="h3cellaream2">
  h3CellAreaM2
</h2>

تُرجِع المساحة الدقيقة، بالمتر المربع، لخلية محددة تقابل قيمة H3 index المُدخلة.

**الصيغة**

```sql theme={null}
h3CellAreaM2(index)
```

**المعامل**

* `index` — رقم فهرس الخلية السداسية. [UInt64](/ar/reference/data-types/int-uint).

**القيمة المعادة**

* مساحة الخلية بالأمتار المربعة. [Float64](/ar/reference/data-types/float).

**مثال**

```sql title="Query" theme={null}
SELECT h3CellAreaM2(579205133326352383) AS area;
```

```text title="Response" theme={null}
┌───────────────area─┐
│ 4106166334463.9233 │
└────────────────────┘
```

<h2 id="h3cellarearads2">
  h3CellAreaRads2
</h2>

يعيد المساحة الدقيقة لخلية محددة، مقاسةً بالراديان المربع، والمطابقة لفهرس H3 المُدخل.

**البنية**

```sql theme={null}
h3CellAreaRads2(index)
```

**المعامل**

* `index` — رقم فهرس الخلية السداسية. [UInt64](/ar/reference/data-types/int-uint).

**القيمة المُعادة**

* مساحة الخلية بوحدة الراديان المربّع. [Float64](/ar/reference/data-types/float).

**مثال**

```sql title="Query" theme={null}
SELECT h3CellAreaRads2(579205133326352383) AS area;
```

```text title="Response" theme={null}
┌────────────────area─┐
│ 0.10116268528089567 │
└─────────────────────┘
```

<h2 id="h3tocenterchild">
  h3ToCenterChild
</h2>

تُرجِع فهرس [H3](#h3-index) الابن المركزي (الأدق) الواقع ضمن فهرس [H3](#h3-index) المُعطى عند درجة الدقة المحددة.

**الصياغة**

```sql theme={null}
h3ToCenterChild(index, resolution)
```

**المعامل**

* `index` — رقم فهرس الخلية السداسية. [UInt64](/ar/reference/data-types/int-uint).
* `resolution` — دقة الفهرس. النطاق: `[0, 15]`. [UInt8](/ar/reference/data-types/int-uint).

**القيم المُعادة**

* فهرس [H3](#h3-index) للخلية الفرعية المركزية الواقعة ضمن فهرس [H3](#h3-index) المحدد عند درجة الدقة المعطاة. [UInt64](/ar/reference/data-types/int-uint).

**مثال**

```sql title="Query" theme={null}
SELECT h3ToCenterChild(577023702256844799,1) AS centerToChild;
```

```text title="Response" theme={null}
┌──────centerToChild─┐
│ 581496515558637567 │
└────────────────────┘
```

<h2 id="h3exactedgelengthm">
  h3ExactEdgeLengthM
</h2>

يعيد الطول الدقيق للحافة أحادية الاتجاه التي يمثّلها فهرس H3 المُدخل، بالأمتار.

**الصيغة**

```sql theme={null}
h3ExactEdgeLengthM(index)
```

**معلمة**

* `index` — رقم فهرس الخلية السداسية. [UInt64](/ar/reference/data-types/int-uint).

**القيمة المُعادة**

* الطول الدقيق للحافة بالأمتار. [Float64](/ar/reference/data-types/float).

**مثال**

```sql title="Query" theme={null}
SELECT round(h3ExactEdgeLengthM(1310277011704381439), 6) AS exactEdgeLengthM;
```

```text title="Response" theme={null}
┌─exactEdgeLengthM─┐
│    195449.631634 │
└──────────────────┘
```

<h2 id="h3exactedgelengthkm">
  h3ExactEdgeLengthKm
</h2>

يُرجِع الطول الدقيق للحافة أحادية الاتجاه التي يمثّلها `فهرس H3` المُدخَل، بالكيلومترات.

**صيغة**

```sql theme={null}
h3ExactEdgeLengthKm(index)
```

**معلمة**

* `index` — رقم فهرس الخلية السداسية. [UInt64](/ar/reference/data-types/int-uint).

**القيمة المُعادة**

* الطول الدقيق للحافة بالكيلومترات. [Float64](/ar/reference/data-types/float).

**مثال**

```sql title="Query" theme={null}
SELECT round(h3ExactEdgeLengthKm(1310277011704381439), 8) AS exactEdgeLengthKm;
```

```text title="Response" theme={null}
┌─exactEdgeLengthKm─┐
│      195.44963163 │
└───────────────────┘
```

<h2 id="h3exactedgelengthrads">
  h3ExactEdgeLengthRads
</h2>

تعيد الطول الدقيق للحافة أحادية الاتجاه التي يمثّلها فهرس h3 المُدخل، بالراديان.

**الصيغة**

```sql theme={null}
h3ExactEdgeLengthRads(index)
```

**معلمة**

* `index` — رقم فهرس الخلية السداسية. [UInt64](/ar/reference/data-types/int-uint).

**القيمة المُعادة**

* الطول الدقيق للحافة بالراديان. [Float64](/ar/reference/data-types/float).

**مثال**

```sql title="Query" theme={null}
SELECT round(h3ExactEdgeLengthRads(1310277011704381439), 12) AS exactEdgeLengthRads;
```

```text title="Response" theme={null}
┌─exactEdgeLengthRads─┐
│      0.030677980119 │
└─────────────────────┘
```

<h2 id="h3numhexagons">
  h3NumHexagons
</h2>

يعيد عدد فهارس H3 الفريدة عند مستوى الدقة المحدد.

**الصياغة**

```sql theme={null}
h3NumHexagons(resolution)
```

**المعامل**

* `resolution` — دقة الفهرس. النطاق: `[0, 15]`. [UInt8](/ar/reference/data-types/int-uint).

**القيمة المُعادة**

* عدد فهارس H3. [Int64](/ar/reference/data-types/int-uint).

**مثال**

```sql title="Query" theme={null}
SELECT h3NumHexagons(3) AS numHexagons;
```

```text title="Response" theme={null}
┌─numHexagons─┐
│       41162 │
└─────────────┘
```

<h2 id="h3pointdistm">
  h3PointDistM
</h2>

تعيد مسافة "الدائرة العظمى" أو "هافرسين" بين كل زوج من نقاط GeoCoord ‏(خط العرض/خط الطول)، بالمتر.

**صيغة**

```sql theme={null}
h3PointDistM(lat1, lon1, lat2, lon2)
```

**الوسائط**

* `lat1`, `lon1` — خط العرض وخط الطول للنقطة 1 بالدرجات. [Float64](/ar/reference/data-types/float).
* `lat2`, `lon2` — خط العرض وخط الطول للنقطة 2 بالدرجات. [Float64](/ar/reference/data-types/float).

**القيم المعادة**

* مسافة هافرسين أو مسافة الدائرة العظمى بالأمتار.[Float64](/ar/reference/data-types/float).

**مثال**

```sql title="Query" theme={null}
SELECT h3PointDistM(-10.0 ,0.0, 10.0, 0.0) AS h3PointDistM;
```

```text title="Response" theme={null}
┌───────h3PointDistM─┐
│ 2223901.0395045886 │
└────────────────────┘
```

<h2 id="h3pointdistkm">
  h3PointDistKm
</h2>

يعيد مسافة "الدائرة العظمى" أو مسافة "هافرسين" بين أزواج من نقاط GeoCoord (خط العرض/خط الطول) بالكيلومترات.

**صيغة**

```sql theme={null}
h3PointDistKm(lat1, lon1, lat2, lon2)
```

**وسيط**

* `lat1`, `lon1` — خط العرض وخط الطول للنقطة 1 بالدرجات. [Float64](/ar/reference/data-types/float).
* `lat2`, `lon2` — خط العرض وخط الطول للنقطة 2 بالدرجات. [Float64](/ar/reference/data-types/float).

**القيم المُعادة**

* مسافة هافرسين أو مسافة الدائرة العظمى بالكيلومترات. [Float64](/ar/reference/data-types/float).

**مثال**

```sql title="Query" theme={null}
SELECT h3PointDistKm(-10.0 ,0.0, 10.0, 0.0) AS h3PointDistKm;
```

```text title="Response" theme={null}
┌──────h3PointDistKm─┐
│ 2223.9010395045884 │
└────────────────────┘
```

<h2 id="h3pointdistrads">
  h3PointDistRads
</h2>

تعيد مسافة "الدائرة العظمى" أو مسافة "هافرسين" بين أزواج من نقاط GeoCoord ‏(خط العرض/خط الطول) بوحدة الراديان.

**الصيغة**

```sql theme={null}
h3PointDistRads(lat1, lon1, lat2, lon2)
```

**الوسائط**

* `lat1`, `lon1` — خط العرض وخط الطول للنقطة 1 بالدرجات. [Float64](/ar/reference/data-types/float).
* `lat2`, `lon2` — خط العرض وخط الطول للنقطة 2 بالدرجات. [Float64](/ar/reference/data-types/float).

**القيم المعادة**

* مسافة هافرسين أو مسافة الدائرة العظمى بالراديان. [Float64](/ar/reference/data-types/float).

**مثال**

```sql title="Query" theme={null}
SELECT h3PointDistRads(-10.0 ,0.0, 10.0, 0.0) AS h3PointDistRads;
```

```text title="Response" theme={null}
┌────h3PointDistRads─┐
│ 0.3490658503988659 │
└────────────────────┘
```

<h2 id="h3getres0indexes">
  h3GetRes0Indexes
</h2>

يعيد مصفوفة تضم جميع فهارس H3 عند مستوى الدقة 0.

**الصيغة**

```sql theme={null}
h3GetRes0Indexes()
```

**القيم المُعادة**

* مصفوفة تضم جميع فهارس H3 عند مستوى الدقة 0. [مصفوفة](/ar/reference/data-types/array)([UInt64](/ar/reference/data-types/int-uint)).

**مثال**

```sql title="Query" theme={null}
SELECT h3GetRes0Indexes AS indexes ;
```

```text title="Response" theme={null}
┌─indexes─────────────────────────────────────┐
│ [576495936675512319,576531121047601151,....]│
└─────────────────────────────────────────────┘
```

<h2 id="h3getpentagonindexes">
  h3GetPentagonIndexes
</h2>

يعيد جميع فهارس H3 الخماسية عند مستوى الوضوح المحدد.

**الصياغة**

```sql theme={null}
h3GetPentagonIndexes(resolution)
```

**المعلمة**

* `resolution` — دقة الفهرس. النطاق: `[0, 15]`. [UInt8](/ar/reference/data-types/int-uint).

**القيمة المُعادة**

* مصفوفة تضم جميع فهارس H3 الخماسية. [مصفوفة](/ar/reference/data-types/array)([UInt64](/ar/reference/data-types/int-uint)).

**مثال**

```sql title="Query" theme={null}
SELECT h3GetPentagonIndexes(3) AS indexes;
```

```text title="Response" theme={null}
┌─indexes────────────────────────────────────────────────────────┐
│ [590112357393367039,590464201114255359,590816044835143679,...] │
└────────────────────────────────────────────────────────────────┘
```

<h2 id="h3line">
  h3Line
</h2>

يعيد الخط الواصل بين الفهرسين المُعطيين.

**الصيغة**

```sql theme={null}
h3Line(start,end)
```

**المعلمات**

* `start` — رقم فهرس الخلية السداسية الذي يمثّل نقطة البداية. [UInt64](/ar/reference/data-types/int-uint).
* `end` — رقم فهرس الخلية السداسية الذي يمثّل نقطة النهاية. [UInt64](/ar/reference/data-types/int-uint).

**القيمة المُعادة**

مصفوفة من فهارس H3 تمثّل خط الفهارس بين الفهرسين المحددين. [Array](/ar/reference/data-types/array)([UInt64](/ar/reference/data-types/int-uint)).

**مثال**

```sql title="Query" theme={null}
 SELECT h3Line(590080540275638271,590103561300344831) AS indexes;
```

```text title="Response" theme={null}
┌─indexes────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ [590080540275638271,590080471556161535,590080883873021951,590106516237844479,590104385934065663,590103630019821567,590103561300344831] │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
```

<h2 id="h3distance">
  h3Distance
</h2>

تعيد المسافة، بوحدة خلايا الشبكة، بين الفهرسين المُقدَّمين.

**الصيغة**

```sql theme={null}
h3Distance(start,end)
```

**المعامل**

* `start` — رقم فهرس الخلية السداسية الذي يمثّل نقطة البداية. [UInt64](/ar/reference/data-types/int-uint).
* `end` — رقم فهرس الخلية السداسية الذي يمثّل نقطة النهاية. [UInt64](/ar/reference/data-types/int-uint).

**القيمة المعادة**

* عدد خلايا الشبكة. [Int64](/ar/reference/data-types/int-uint).

يعيد عددًا سالبًا إذا تعذّر حساب المسافة.

**مثال**

```sql title="Query" theme={null}
 SELECT h3Distance(590080540275638271,590103561300344831) AS distance;
```

```text title="Response" theme={null}
┌─distance─┐
│        6 │
└──────────┘
```

<h2 id="h3hexring">
  h3HexRing
</h2>

تُرجع الفهارس الخاصة بالحلقة السداسية المتمركزة حول `origin` ‏h3Index المُعطى وبطول k.

تُرجع 0 إذا لم يُرصد أي تشوّه خماسي.

**البنية**

```sql theme={null}
h3HexRing(index, k)
```

**المعاملات**

* `index` — رقم فهرس الخلية السداسية الذي يمثّل الخلية الأصل. [UInt64](/ar/reference/data-types/int-uint).
* `k` — المسافة. [UInt64](/ar/reference/data-types/int-uint).

**القيم المُعادة**

* مصفوفة من فهارس H3. [Array](/ar/reference/data-types/array)([UInt64](/ar/reference/data-types/int-uint)).

**مثال**

```sql title="Query" theme={null}
 SELECT h3HexRing(590080540275638271, toUInt16(1)) AS hexRing;
```

```text title="Response" theme={null}
┌─hexRing─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ [590080815153545215,590080471556161535,590080677714591743,590077585338138623,590077447899185151,590079509483487231] │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
```

<h2 id="h3getunidirectionaledge">
  h3GetUnidirectionalEdge
</h2>

يعيد فهرس H3 لحافة أحادية الاتجاه لفهرسي خليتي H3 متجاورتين (الأصل والوجهة). يطرح استثناءً إذا لم يكن أيٌّ من الإدخالين خلية H3 صالحة (يتحكم في ذلك الإعداد `functions_h3_default_if_invalid`). بالنسبة إلى الخلايا الصالحة غير المتجاورة (بما في ذلك الخلية نفسها مرتين)، يعيد `0`.

**الصيغة**

```sql theme={null}
h3GetUnidirectionalEdge(originIndex, destinationIndex)
```

**المعامل**

* `originIndex` — رقم فهرس الخلية السداسية الأصلي. [UInt64](/ar/reference/data-types/int-uint).
* `destinationIndex` — رقم فهرس الخلية السداسية للوجهة. [UInt64](/ar/reference/data-types/int-uint).

**القيمة المُعادة**

* رقم فهرس الخلية السداسية للحافة أحادية الاتجاه. [UInt64](/ar/reference/data-types/int-uint).

**مثال**

```sql title="Query" theme={null}
 SELECT h3GetUnidirectionalEdge(599686042433355775, 599686043507097599) AS edge;
```

```text title="Response" theme={null}
┌────────────────edge─┐
│ 1248204388774707199 │
└─────────────────────┘
```

<h2 id="h3unidirectionaledgeisvalid">
  h3UnidirectionalEdgeIsValid
</h2>

يحدِّد ما إذا كان `H3Index` المُقدَّم فهرس حافة أحادية الاتجاه صالحًا. يعيد القيمة 1 إذا كان حافة أحادية الاتجاه، و0 بخلاف ذلك.

**البنية**

```sql theme={null}
h3UnidirectionalEdgeIsValid(index)
```

**المعلمة**

* `index` — رقم فهرس الخلية السداسية. [UInt64](/ar/reference/data-types/int-uint).

**القيمة المعادة**

* 1 — فهرس H3 هو حافة أحادية الاتجاه صالحة. [UInt8](/ar/reference/data-types/int-uint).
* 0 — فهرس H3 ليس حافة أحادية الاتجاه صالحة. [UInt8](/ar/reference/data-types/int-uint).

**مثال**

```sql title="Query" theme={null}
 SELECT h3UnidirectionalEdgeIsValid(1248204388774707199) AS validOrNot;
```

```text title="Response" theme={null}
┌─validOrNot─┐
│          1 │
└────────────┘
```

<h2 id="h3getoriginindexfromunidirectionaledge">
  h3GetOriginIndexFromUnidirectionalEdge
</h2>

يعيد مؤشر السداسي الأصلي من H3Index الخاص بالحافة أحادية الاتجاه. يطرح استثناءً إذا لم يكن الإدخال حافة موجهة صالحة (يتحكم في ذلك الإعداد `functions_h3_default_if_invalid`)؛ ولا يعيد `0` إلا عند تمكين هذا الإعداد.

**الصياغة**

```sql theme={null}
h3GetOriginIndexFromUnidirectionalEdge(edge)
```

**المعلمة**

* `edge` — رقم فهرس الخلية السداسية الذي يمثّل حافة أحادية الاتجاه. [UInt64](/ar/reference/data-types/int-uint).

**القيمة المُعادة**

* رقم فهرس الخلية السداسية للمنشأ. [UInt64](/ar/reference/data-types/int-uint).
* يطرح `INCORRECT_DATA` للحواف الموجّهة غير الصالحة افتراضياً؛ ويعيد `0` عندما يكون `functions_h3_default_if_invalid = 1`.

**مثال**

```sql title="Query" theme={null}
 SELECT h3GetOriginIndexFromUnidirectionalEdge(1248204388774707199) AS origin;
```

```text title="Response" theme={null}
┌─────────────origin─┐
│ 599686042433355775 │
└────────────────────┘
```

<h2 id="h3getdestinationindexfromunidirectionaledge">
  h3GetDestinationIndexFromUnidirectionalEdge
</h2>

يعيد فهرس الخلية السداسية للوجهة من H3Index للحافة أحادية الاتجاه. يطرح استثناءً إذا لم يكن الإدخال حافة موجهة صالحة (يتحكم في ذلك الإعداد `functions_h3_default_if_invalid`)؛ ولا يعيد `0` إلا عند تمكين هذا الإعداد.

**الصياغة**

```sql theme={null}
h3GetDestinationIndexFromUnidirectionalEdge(edge)
```

**المعامل**

* `edge` — رقم فهرس الخلية السداسية الذي يمثّل حافة أحادية الاتجاه. [UInt64](/ar/reference/data-types/int-uint).

**القيمة المُعادة**

* رقم فهرس الخلية السداسية للوجهة. [UInt64](/ar/reference/data-types/int-uint).
* يُطلق `INCORRECT_DATA` عند وجود حواف موجّهة غير صالحة افتراضيًا؛ ويعيد `0` عندما يكون `functions_h3_default_if_invalid = 1`.

**مثال**

```sql title="Query" theme={null}
 SELECT h3GetDestinationIndexFromUnidirectionalEdge(1248204388774707199) AS destination;
```

```text title="Response" theme={null}
┌────────destination─┐
│ 599686043507097599 │
└────────────────────┘
```

<h2 id="h3getindexesfromunidirectionaledge">
  h3GetIndexesFromUnidirectionalEdge
</h2>

يعيد فهارس السداسيات عند نقطتَي المنشأ والوجهة من H3Index للحافة أحادية الاتجاه المحددة.

**البنية**

```sql theme={null}
h3GetIndexesFromUnidirectionalEdge(edge)
```

**المعلمة**

* `edge` — رقم فهرس الخلية السداسية الذي يمثّل حافة أحادية الاتجاه. [UInt64](/ar/reference/data-types/int-uint).

**القيمة المعادة**

زوج مرتب يتكوّن من قيمتين `tuple(origin,destination)`:

* `origin` — رقم فهرس الخلية السداسية للمنشأ. [UInt64](/ar/reference/data-types/int-uint).
* `destination` — رقم فهرس الخلية السداسية للوجهة. [UInt64](/ar/reference/data-types/int-uint).

يطرح استثناءً إذا كانت قيمة الإدخال المقدَّمة ليست حافة موجَّهة صالحة (يتحكم في ذلك الإعداد `functions_h3_default_if_invalid`)؛ ولا يُرجِع `(0,0)` إلا عند تمكين ذلك الإعداد.

**مثال**

```sql title="Query" theme={null}
 SELECT h3GetIndexesFromUnidirectionalEdge(1248204388774707199) AS indexes;
```

```text title="Response" theme={null}
┌─indexes─────────────────────────────────┐
│ (599686042433355775,599686043507097599) │
└─────────────────────────────────────────┘
```

<h2 id="h3getunidirectionaledgesfromhexagon">
  h3GetUnidirectionalEdgesFromHexagon
</h2>

يوفّر جميع الحواف أحادية الاتجاه الخارجة من قيمة H3Index المقدَّمة. يُطلق استثناءً إذا لم يكن الإدخال خلية H3 صالحة (يتحكم في ذلك الإعداد `functions_h3_default_if_invalid`)؛ ولا يعيد مصفوفة فارغة إلا عند تفعيل هذا الإعداد.

**الصيغة**

```sql theme={null}
h3GetUnidirectionalEdgesFromHexagon(index)
```

**المعلمة**

* `index` — رقم فهرس الخلية السداسية الذي يمثّل خلية. [UInt64](/ar/reference/data-types/int-uint).

**القيمة المُعادة**

* مصفوفة من فهارس H3 تمثّل كل حافة أحادية الاتجاه. [Array](/ar/reference/data-types/array)([UInt64](/ar/reference/data-types/int-uint)).
* يُطلق الخطأ `INCORRECT_DATA` للخلايا غير الصالحة افتراضيًا؛ ويعيد `[]` عندما يكون `functions_h3_default_if_invalid = 1`.

**مثال**

```sql title="Query" theme={null}
 SELECT h3GetUnidirectionalEdgesFromHexagon(599686042433355775) AS edges;
```

```text title="Response" theme={null}
┌─edges─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ [1248204388774707199,1320261982812635135,1392319576850563071,1464377170888491007,1536434764926418943,1608492358964346879] │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
```

<h2 id="h3getunidirectionaledgeboundary">
  h3GetUnidirectionalEdgeBoundary
</h2>

تُرجِع الإحداثيات التي تُعرِّف الحافة أحادية الاتجاه. تطرح استثناءً إذا لم يكن الإدخال حافة موجّهة صالحة (يتحكم في ذلك الإعداد `functions_h3_default_if_invalid`)؛ ولا تُرجِع مصفوفة فارغة إلا عندما يكون هذا الإعداد مُفعّلًا.

**البنية**

```sql theme={null}
h3GetUnidirectionalEdgeBoundary(index)
```

**المعامل**

* `index` — رقم فهرس الخلية السداسية الذي يمثّل حافة أحادية الاتجاه. [UInt64](/ar/reference/data-types/int-uint).

**القيمة المُعادة**

* [مصفوفة](/ar/reference/data-types/array) من الأزواج '(lat, lon)'. ([Float64](/ar/reference/data-types/float), [Float64](/ar/reference/data-types/float)).
* يُطلق `INCORRECT_DATA` للحواف الموجّهة غير الصالحة افتراضيًا؛ ويُرجع `[]` عندما يكون `functions_h3_default_if_invalid = 1`.

**مثال**

```sql title="Query" theme={null}
 SELECT h3GetUnidirectionalEdgeBoundary(1248204388774707199) AS boundary;
```

```text title="Response" theme={null}
┌─boundary────────────────────────────────────────────────────────────────────────┐
│ [(37.42012867767779,-122.03773496427027),(37.33755608435299,-122.090428929044)] │
└─────────────────────────────────────────────────────────────────────────────────┘
```
