카테고리:

지리 공간 함수, 변환 함수

TO_GEOMETRY

입력을 구문 분석하고 GEOMETRY 형식의 값을 반환합니다.

참고 항목:

TRY_TO_GEOMETRY , ST_GEOMETRYFROMWKB , ST_GEOMETRYFROMWKT

구문

다음 중 하나를 사용하십시오.

TO_GEOMETRY( <varchar_expression> [ , <srid> ] [ , <allow_invalid> ] )

TO_GEOMETRY( <binary_expression> [ , <srid> ] [ , <allow_invalid> ] )

TO_GEOMETRY( <variant_expression> [ , <srid> ] [ , <allow_invalid> ] )
Copy

인자

필수:

varchar_expression

인자는 다음 형식 중 하나로 유효한 기하학적 오브젝트를 나타내는 문자열 식이어야 합니다.

  • WKT(well-known text).

  • 16진수 형식의 WKB(well-known binary)(선행 0x 제외).

  • EWKT(extended well-known text).

  • 16진수 형식의 EWKB(extended well-known binary)(선행 0x 제외).

  • GeoJSON.

binary_expression

인자는 WKB 또는 EWKB 형식의 이진 식이어야 합니다.

variant_expression

인자는 GeoJSON 형식의 OBJECT여야 합니다.

선택 사항:

srid

사용할 SRID의 정수 값입니다.

allow_invalid

TRUE인 경우 입력 도형이 유효하지 않고 복구할 수 없더라도 함수가 GEOGRAPHY 또는 GEOMETRY 오브젝트를 반환해야 하는 것으로 지정됩니다. 자세한 내용은 유효하지 않은 지리 공간 도형을 처리하는 방법 지정하기 섹션을 참조하십시오.

반환

함수는 GEOMETRY 형식의 값을 반환합니다.

사용법 노트

  • 지원되는 형식(WKT, WKB, EWKT, EWKB, GeoJSON) 중 하나로 입력을 구문 분석할 수 없는 경우, 오류가 발생합니다.

  • GeoJSON, WKT 및 WKB 입력의 경우 srid 인자가 지정되지 않으면 결과 GEOMETRY 오브젝트의 SRID가 0으로 설정됩니다.

  • WKT 또는 EWKT 입력에서 GEOMETRY 오브젝트를 구성하려면 ST_GEOMETRYFROMWKT 를 사용할 수도 있습니다.

  • WKB 또는 EWKB 입력에서 GEOMETRY 오브젝트를 구성하려면 ST_GEOMETRYFROMWKB 를 사용할 수도 있습니다.

다음 예제에서는 TO_GEOMETRY 함수를 사용하여 WKT로 표시된 오브젝트를 GEOMETRY 오브젝트로 변환하는 방법을 보여줍니다. 이 예제에서는 srid 인자를 지정하지 않고 SRID는 오브젝트의 입력 표시에 지정되지 않으므로 SRID가 0으로 설정됩니다.

ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='EWKT';

SELECT TO_GEOMETRY('POINT(1820.12 890.56)');
Copy
+--------------------------------------+
| TO_GEOMETRY('POINT(1820.12 890.56)') |
|--------------------------------------|
| SRID=0;POINT(1820.12 890.56)         |
+--------------------------------------+

다음 예제에서는 EWKT로 표시된 오브젝트를 GEOMETRY 오브젝트로 변환합니다. 입력 EKWT는 사용할 SRID를 지정합니다.

ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='EWKT';

SELECT TO_GEOMETRY('SRID=4326;POINT(1820.12 890.56)');
Copy
+------------------------------------------------+
| TO_GEOMETRY('SRID=4326;POINT(1820.12 890.56)') |
|------------------------------------------------|
| SRID=4326;POINT(1820.12 890.56)                |
+------------------------------------------------+

다음 예제에서는 SRID를 srid 입력 인자로 지정하는 방법을 보여줍니다.

ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='EWKT';

SELECT TO_GEOMETRY('POINT(1820.12 890.56)', 4326);
Copy
+--------------------------------------------+
| TO_GEOMETRY('POINT(1820.12 890.56)', 4326) |
|--------------------------------------------|
| SRID=4326;POINT(1820.12 890.56)            |
+--------------------------------------------+

다음 예는 EWKT 형식으로 설명된 Z축을 가진 지리 공간 오브젝트에 대한 GEOMETRY 오브젝트를 반환합니다.

ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='EWKT';

SELECT TO_GEOMETRY('SRID=32633;POINTZ(389866.35 5819003.03 30)');
Copy
+-----------------------------------------------------------+
| TO_GEOMETRY('SRID=32633;POINTZ(389866.35 5819003.03 30)') |
|-----------------------------------------------------------|
| SRID=32633;POINTZ(389866.35 5819003.03 30)                |
+-----------------------------------------------------------+