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

> توثيق دوال Geometry

# دوال للتعامل مع Geometry

<div id="geometry">
  ## Geometry
</div>

تتيح لك دوال Geometry حساب المحيط والمساحة للأنواع الهندسية مثل POLYGON وLINESTRING وMULTIPOLYGON وMULTILINESTRING وRING وPOINT. استخدم الأشكال الهندسية ضمن النوع Geometry. إذا كانت قيمة الإدخال هي `NULL`، فستُرجع جميع الدوال أدناه القيمة 0.

<div id="perimetercartesian">
  ## perimeterCartesian
</div>

يحسب محيط كائن من نوع Geometry المحدد في نظام الإحداثيات الديكارتي (المسطح).

**البنية**

```sql theme={null}
perimeterCartesian(geom)
```

**الوسائط**

* `geom` — كائن من نوع Geometry. [Geometry](/ar/reference/data-types/geo).

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

* Number — محيط الكائن بوحدات نظام الإحداثيات. [Float64](/ar/reference/data-types/float).

**مثال**

```sql title="Query" theme={null}
CREATE TABLE IF NOT EXISTS geo_dst (geom Geometry) ENGINE = Memory();
INSERT INTO geo_dst SELECT readWKT('POLYGON((0 0,1 0,1 1,0 1,0 0))');
SELECT perimeterCartesian(geom) FROM geo_dst;
```

```response title="Response" theme={null}
┌─perimeterCartesian(geom)─┐
│ 4.0                      │
└──────────────────────────┘
```

<div id="areacartesian">
  ## areaCartesian
</div>

تحسب مساحة كائن من نوع Geometry المُعطى في نظام الإحداثيات الديكارتية.

**الصيغة**

```sql theme={null}
areaCartesian(geom)
```

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

* `geom` — كائن من نوع Geometry. [Geometry](/ar/reference/data-types/geo).

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

* عدد — مساحة الكائن بوحدات نظام الإحداثيات. [Float64](/ar/reference/data-types/float).

**مثال**

```sql title="Query" theme={null}
CREATE TABLE IF NOT EXISTS geo_dst (geom Geometry) ENGINE = Memory();
INSERT INTO geo_dst SELECT readWKT('POLYGON((0 0,1 0,1 1,0 1,0 0))');
SELECT areaCartesian(geom) FROM geo_dst;
```

```response title="Response" theme={null}
┌─areaCartesian(geom)─┐
│ -1                  │
└─────────────────────┘
```

<div id="perimeterspherical">
  ## perimeterSpherical
</div>

يحسب محيط كائن من نوع Geometry على سطح كرة.

**الصيغة**

```sql theme={null}
perimeterSpherical(geom)
```

**الوسائط**

* `geom` — كائن من نوع Geometry. [Geometry](/ar/reference/data-types/geo).

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

* عدد — المحيط. [Float64](/ar/reference/data-types/float).

**مثال**

```sql title="Query" theme={null}
CREATE TABLE IF NOT EXISTS geo_dst (geom Geometry) ENGINE = Memory();
INSERT INTO geo_dst SELECT readWKT('LINESTRING(0 0,1 0,1 1,0 1,0 0)');
SELECT perimeterSpherical(geom) FROM geo_dst;
```

```response title="Response" theme={null}
┌─perimeterSpherical(geom)─┐
│ 0                        │
└──────────────────────────┘
```

<div id="areaspherical">
  ## areaSpherical
</div>

يحسب مساحة كائن من نوع Geometry على سطح كرة.

**الصيغة**

```sql theme={null}
areaSpherical(geom)
```

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

* `geom` — نوع Geometry. [Geometry](/ar/reference/data-types/geo).

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

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

**مثال**

```sql title="Query" theme={null}
CREATE TABLE IF NOT EXISTS geo_dst (geom Geometry) ENGINE = Memory();
INSERT INTO geo_dst SELECT readWKT('POLYGON((0 0,1 0,1 1,0 1,0 0))');
SELECT areaSpherical(geom) FROM geo_dst;
```

```response title="Response" theme={null}
┌─areaSpherical(geom)────┐
│ -0.0003046096848622019 │
└────────────────────────┘
```
