TO_GEOMETRY¶
입력을 구문 분석하고 GEOMETRY 형식의 값을 반환합니다.
구문¶
다음 중 하나를 사용하십시오.
TO_GEOMETRY( <varchar_expression> [ , <srid> ] [ , <allow_invalid> ] )
TO_GEOMETRY( <binary_expression> [ , <srid> ] [ , <allow_invalid> ] )
TO_GEOMETRY( <variant_expression> [ , <srid> ] [ , <allow_invalid> ] )
인자¶
필수:
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 오브젝트를 반환해야 하는 것으로 지정됩니다. 자세한 내용은 유효하지 않은 지리 공간 도형을 처리하는 방법 지정하기 섹션을 참조하십시오.
사용법 노트¶
지원되는 형식(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)');
+--------------------------------------+
| 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〉;
ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='EWKT';
SELECT TO_GEOMETRY('SRID=4326;POINT(1820.12 890.56)');
+------------------------------------------------+
| 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);
+--------------------------------------------+
| TO_GEOMETRY('POINT(1820.12 890.56)', 4326) |
|--------------------------------------------|
| SRID=4326;POINT(1820.12 890.56) |
+--------------------------------------------+