Loading...
MySQL 9.5 Reference Manual 9.5의 14.16.6 Geometry Format Conversion Functions의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
MySQL은 이 섹션에 나열된 함수들을 지원하여 geometry 값을 내부 geometry 포맷에서 WKT 또는 WKB 포맷으로 변환하거나, X와 Y 좌표의 순서를 서로 바꾸는 기능을 제공합니다.
또한 문자열을 WKT 또는 WKB 포맷에서 내부 geometry 포맷으로 변환하는 함수도 있습니다. Section 14.16.3, “Functions That Create Geometry Values from WKT Values” 및 Section 14.16.4, “Functions That Create Geometry Values from WKB Values”를 참조하십시오.
WKT geometry collection 인수를 허용하는 ST_GeomFromText() 같은 함수는 OpenGIS 'GEOMETRYCOLLECTION EMPTY' 표준 구문과 MySQL 'GEOMETRYCOLLECTION()' 비표준 구문을 모두 인식합니다. 빈 geometry collection을 생성하는 또 다른 방법은 인수 없이 GeometryCollection()을 호출하는 것입니다. WKT 값을 생성하는 ST_AsWKT() 같은 함수는 'GEOMETRYCOLLECTION EMPTY' 표준 구문을 생성합니다:
1mysql> SET @s1 = ST_GeomFromText('GEOMETRYCOLLECTION()'); 2mysql> SET @s2 = ST_GeomFromText('GEOMETRYCOLLECTION EMPTY'); 3mysql> SELECT ST_AsWKT(@s1), ST_AsWKT(@s2); 4+--------------------------+--------------------------+ 5| ST_AsWKT(@s1) | ST_AsWKT(@s2) | 6+--------------------------+--------------------------+ 7| GEOMETRYCOLLECTION EMPTY | GEOMETRYCOLLECTION EMPTY | 8+--------------------------+--------------------------+ 9mysql> SELECT ST_AsWKT(GeomCollection()); 10+----------------------------+ 11| ST_AsWKT(GeomCollection()) | 12+----------------------------+ 13| GEOMETRYCOLLECTION EMPTY | 14+----------------------------+
별도로 명시되지 않는 한, 이 섹션의 함수들은 geometry 인수를 다음과 같이 처리합니다:
어떤 인수라도 NULL이면 반환 값은 NULL입니다.
geometry 인수 중 하나라도 구문적으로 올바르게 구성된 geometry가 아니면 ER_GIS_INVALID_DATA 오류가 발생합니다.
geometry 인수 중 하나라도 정의되지 않은 공간 참조 시스템(spatial reference system)에 속해 있으면, 축은 geometry에 나타나는 순서대로 출력되며 ER_WARN_SRS_NOT_FOUND_AXIS_ORDER 경고가 발생합니다.
기본적으로, 지리 좌표(latitude, longitude)는 geometry 인수에 적용되는 공간 참조 시스템에 의해 지정된 순서대로 해석됩니다. 기본 축 순서(axis order)를 재정의하기 위해 선택적인 options 인수를 지정할 수 있습니다. options는 쉼표로 구분된 key=value 목록으로 구성됩니다. 허용되는 key 값은 axis-order 하나뿐이며, 허용되는 값은 lat-long, long-lat, srid-defined(기본값)입니다.
options 인수가 NULL이면 반환 값은 NULL입니다. options 인수가 유효하지 않으면 그 이유를 나타내는 오류가 발생합니다.
NULL이 아닌 값입니다.다음 함수들은 포맷 변환 또는 좌표 스와핑에 사용할 수 있습니다:
내부 geometry 포맷의 값을 WKB 표현으로 변환하고, 바이너리 결과를 반환합니다.
이 함수의 반환 값은 geometry 인수에 적용되는 공간 참조 시스템에 의해 지정된 순서로 지리 좌표(latitude, longitude)를 갖습니다. 기본 축 순서를 재정의하기 위해 선택적인 options 인수를 지정할 수 있습니다.
ST_AsBinary()와 ST_AsWKB()는 이 섹션 서두에 설명된 대로 인수를 처리합니다.
1mysql> SET @g = ST_LineFromText('LINESTRING(0 5,5 10,10 15)', 4326); 2mysql> SELECT ST_AsText(ST_GeomFromWKB(ST_AsWKB(@g))); 3+-----------------------------------------+ 4| ST_AsText(ST_GeomFromWKB(ST_AsWKB(@g))) | 5+-----------------------------------------+ 6| LINESTRING(5 0,10 5,15 10) | 7+-----------------------------------------+ 8mysql> SELECT ST_AsText(ST_GeomFromWKB(ST_AsWKB(@g, 'axis-order=long-lat'))); 9+----------------------------------------------------------------+ 10| ST_AsText(ST_GeomFromWKB(ST_AsWKB(@g, 'axis-order=long-lat'))) | 11+----------------------------------------------------------------+ 12| LINESTRING(0 5,5 10,10 15) | 13+----------------------------------------------------------------+ 14mysql> SELECT ST_AsText(ST_GeomFromWKB(ST_AsWKB(@g, 'axis-order=lat-long'))); 15+----------------------------------------------------------------+ 16| ST_AsText(ST_GeomFromWKB(ST_AsWKB(@g, 'axis-order=lat-long'))) | 17+----------------------------------------------------------------+ 18| LINESTRING(5 0,10 5,15 10) | 19+----------------------------------------------------------------+
내부 geometry 포맷의 값을 WKT 표현으로 변환하고, 문자열 결과를 반환합니다.
이 함수의 반환 값은 geometry 인수에 적용되는 공간 참조 시스템에 의해 지정된 순서로 지리 좌표(latitude, longitude)를 갖습니다. 기본 축 순서를 재정의하기 위해 선택적인 options 인수를 지정할 수 있습니다.
ST_AsText()와 ST_AsWKT()는 이 섹션 서두에 설명된 대로 인수를 처리합니다.
1mysql> SET @g = 'LineString(1 1,2 2,3 3)'; 2mysql> SELECT ST_AsText(ST_GeomFromText(@g)); 3+--------------------------------+ 4| ST_AsText(ST_GeomFromText(@g)) | 5+--------------------------------+ 6| LINESTRING(1 1,2 2,3 3) | 7+--------------------------------+
MultiPoint 값에 대한 출력에는 각 point 주변에 괄호가 포함됩니다. 예를 들면 다음과 같습니다:
1mysql> SELECT ST_AsText(ST_GeomFromText(@mp)); 2+---------------------------------+ 3| ST_AsText(ST_GeomFromText(@mp)) | 4+---------------------------------+ 5| MULTIPOINT((1 1),(2 2),(3 3)) | 6+---------------------------------+
내부 geometry 포맷의 인수를 받아 geometry 내 각 좌표 쌍의 X와 Y 값을 서로 바꾸고, 그 결과를 반환합니다.
ST_SwapXY()는 이 섹션 서두에 설명된 대로 인수를 처리합니다.
1mysql> SET @g = ST_LineFromText('LINESTRING(0 5,5 10,10 15)'); 2mysql> SELECT ST_AsText(@g); 3+----------------------------+ 4| ST_AsText(@g) | 5+----------------------------+ 6| LINESTRING(0 5,5 10,10 15) | 7+----------------------------+ 8mysql> SELECT ST_AsText(ST_SwapXY(@g)); 9+----------------------------+ 10| ST_AsText(ST_SwapXY(@g)) | 11+----------------------------+ 12| LINESTRING(5 0,10 5,15 10) | 13+----------------------------+
14.16.5 MySQL-Specific Functions That Create Geometry Values
14.16.7 Geometry Property Functions