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) | +------------------------------------------------+