12.15.7.3 LineString 프로퍼티 함수
LineString
은 Point
값으로 구성됩니다. LineString
의 특정 지점을 추출하고, 거기에 포함되어있는 점의 수를 계산하고 그 길이를 검색 할 수 있습니다.
EndPoint(
ls
)LineString
값ls
의 종점 인Point
를 돌려줍니다.mysql>
SET @ls = 'LineString(1 1,2 2,3 3)';
mysql>SELECT AsText(EndPoint(GeomFromText(@ls)));
+---------------------------------------+ | AsText (EndPoint (GeomFromText (@ls)))| +---------------------------------------+ | POINT (3 3)GLength(
ls
)LineString
값ls
의 연관된 공간 참조의 길이를 나타내는 배정 밀도 숫자를 반환합니다.mysql>
SET @ls = 'LineString(1 1,2 2,3 3)';
mysql>SELECT GLength(GeomFromText(@ls));
+----------------------------+ | GLength(GeomFromText(@ls)) | +----------------------------+ | 2.8284271247461903 | +----------------------------+GLength()
는 비표준 이름입니다. 이것은 OpenGIS의Length()
함수에 대응합니다. (문자열 값의 길이를 계산하는 기존의 SQL 함수Length()
이 존재합니다.)IsClosed(
ls
)LineString
값ls
가 닫혀있어 (즉,StartPoint()
값과EndPoint()
값이 같고)하고 단순하다 (같은 점을 여러 번 다니지 않는) 경우는 1을 돌려줍니다.ls
가 닫혀 있지 않은 경우는 0을NULL
인 경우는 -1을 돌려줍니다.mysql>
SET @ls1 = 'LineString(1 1,2 2,3 3,2 2)';
mysql>SET @ls2 = 'LineString(1 1,2 2,3 3,1 1)';
mysql>SELECT ST_IsClosed(ST_GeomFromText(@ls1));
+------------------------------------+ | ST_IsClosed(ST_GeomFromText(@ls1)) | +------------------------------------+ | 0 | +------------------------------------+ mysql>SELECT ST_IsClosed(ST_GeomFromText(@ls2));
+------------------------------------+ | ST_IsClosed(ST_GeomFromText(@ls2)) | +------------------------------------+ | 1 | +------------------------------------+ mysql>SET @ls3 = 'MultiLineString((1 1,2 2,3 3),(4 4,5 5))';
mysql>SELECT ST_IsClosed(ST_GeomFromText(@ls3));
+------------------------------------+ | ST_IsClosed(ST_GeomFromText(@ls3)) | +------------------------------------+ | 0 | +------------------------------------+NumPoints(
ls
)LineString
값ls
의Point
객체의 수를 돌려줍니다.mysql>
SET @ls = 'LineString(1 1,2 2,3 3)';
mysql>SELECT ST_NumPoints(ST_GeomFromText(@ls));
+------------------------------------+ | ST_NumPoints(ST_GeomFromText(@ls)) | +------------------------------------+ | 3 | +------------------------------------+PointN(
ls
,N
)Linestring
값ls
의N
번째Point
를 돌려줍니다. 점의 번호는 1부터 시작합니다.mysql>
SET @ls = 'LineString(1 1,2 2,3 3)';
mysql>SELECT ST_AsText(ST_PointN(ST_GeomFromText(@ls),2));
+----------------------------------------------+ | ST_AsText(ST_PointN(ST_GeomFromText(@ls),2)) | +----------------------------------------------+ | POINT(2 2) | +----------------------------------------------+StartPoint(
ls
)LineString
값ls
의 시작점 인Point
를 돌려줍니다.mysql>
SET @ls = 'LineString(1 1,2 2,3 3)';
mysql>SELECT ST_AsText(ST_StartPoint(ST_GeomFromText(@ls)));
+------------------------------------------------+ | ST_AsText(ST_StartPoint(ST_GeomFromText(@ls))) | +------------------------------------------------+ | POINT(1 1) | +------------------------------------------------+