> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8a08bda2.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](/ko/reference/data-types/geo).

**반환 값**

* 숫자 — 좌표계 단위를 기준으로 한 객체의 둘레입니다. [Float64](/ko/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](/ko/reference/data-types/geo).

**반환 값**

* 숫자 — 좌표계 단위로 표현된 객체의 면적입니다. [Float64](/ko/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](/ko/reference/data-types/geo).

**반환 값**

* 숫자 — 둘레입니다. [Float64](/ko/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](/ko/reference/data-types/geo).

**반환 값**

* Number — 면적. [Float64](/ko/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 │
└────────────────────────┘
```
