본문으로 바로가기
본문으로 바로가기

Geometry 작업을 위한 함수들

Geometry

Geometry 함수는 POLYGON, LINESTRING, MULTIPOLYGON, MULTILINESTRING, RING, POINT와 같은 기하 타입의 둘레와 면적을 계산할 수 있도록 합니다. Geometry 타입에서 이러한 기하 객체를 사용합니다. 입력 값이 NULL이면 아래의 모든 함수는 0을 반환합니다.

perimeterCartesian

Cartesian(평면) 좌표계에서 주어진 Geometry 객체의 둘레를 계산합니다.

구문

perimeterCartesian(geom)

인자

  • geom — 기하 객체입니다. Geometry.

반환 값

  • Number — 좌표계 단위로 표현된 객체의 둘레 길이입니다. Float64.

예시

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;
┌─perimeterCartesian(geom)─┐
│ 4.0                      │
└──────────────────────────┘

areaCartesian

Cartesian 좌표계에서 주어진 Geometry 객체의 면적을 계산합니다.

구문

areaCartesian(geom)

인수

반환 값

  • Number — 좌표계 단위로 표현된 객체의 면적. Float64.

예시

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;
┌─areaCartesian(geom)─┐
│ -1                  │
└─────────────────────┘

perimeterSpherical

구 표면상에서 Geometry 객체의 둘레를 계산합니다.

구문

perimeterSpherical(geom)

인수

  • geom — 지오메트리 객체. Geometry.

반환 값

예제

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;
┌─perimeterSpherical(geom)─┐
│ 0                        │
└──────────────────────────┘

areaSpherical

구의 표면 위에 있는 Geometry 객체의 면적을 계산합니다.

Syntax

areaSpherical(geom)

인수

  • geom — Geometry 형식의 기하 데이터. Geometry.

반환 값

예제

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;
┌─areaSpherical(geom)────┐
│ -0.0003046096848622019 │
└────────────────────────┘