A LineString consists of
Point values. You can extract particular
points of a LineString, count the number of
points that it contains, or obtain its length.
Some functions in this section also work for
MultiLineString values.
ST_EndPoint()andEndPoint()are synonyms. For more information, see the description ofST_EndPoint().EndPoint()is deprecated; expect it to be removed in a future MySQL release. UseST_EndPoint()instead.GLength()is a nonstandard name. It corresponds to the OpenGISST_Length()function. (There is an existing SQL functionLength()that calculates the length of string values.)GLength()is deprecated; expect it to be removed in a future MySQL release. UseST_Length()instead.ST_IsClosed()andIsClosed()are synonyms. For more information, see the description ofST_IsClosed().IsClosed()is deprecated; expect it to be removed in a future MySQL release. UseST_IsClosed()instead.ST_NumPoints()andNumPoints()are synonyms. For more information, see the description ofST_NumPoints().NumPoints()is deprecated; expect it to be removed in a future MySQL release. UseST_NumPoints()instead.ST_PointN()andPointN()are synonyms. For more information, see the description ofST_PointN().PointN()is deprecated; expect it to be removed in a future MySQL release. UseST_PointN()instead.Returns the
Pointthat is the endpoint of theLineStringvaluels. If the argument isNULLor an empty geometry, the return value isNULL.mysql> SET @ls = 'LineString(1 1,2 2,3 3)'; mysql> SELECT ST_AsText(ST_EndPoint(ST_GeomFromText(@ls))); +----------------------------------------------+ | ST_AsText(ST_EndPoint(ST_GeomFromText(@ls))) | +----------------------------------------------+ | POINT(3 3) | +----------------------------------------------+ST_EndPoint()andEndPoint()are synonyms.For a
LineStringvaluels,ST_IsClosed()returns 1 iflsis closed (that is, itsST_StartPoint()andST_EndPoint()values are the same). If the argument isNULLor an empty geometry, the return value isNULL.For a
MultiLineStringvaluels,ST_IsClosed()returns 1 iflsis closed (that is, theST_StartPoint()andST_EndPoint()values are the same for eachLineStringinls).ST_IsClosed()returns 0 iflsis not closed.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 | +------------------------------------+ST_IsClosed()andIsClosed()are synonyms.Returns a double-precision number indicating the length of the
LineStringorMultiLineStringvaluelsin its associated spatial reference system. The length of aMultiLineStringvalue is equal to the sum of the lengths of its elements. If the argument isNULLor an empty geometry, the return value isNULL.mysql> SET @ls = 'LineString(1 1,2 2,3 3)'; mysql> SELECT ST_Length(ST_GeomFromText(@ls)); +---------------------------------+ | ST_Length(ST_GeomFromText(@ls)) | +---------------------------------+ | 2.8284271247461903 | +---------------------------------+ mysql> SET @mls = 'MultiLineString((1 1,2 2,3 3),(4 4,5 5))'; mysql> SELECT ST_Length(ST_GeomFromText(@mls)); +----------------------------------+ | ST_Length(ST_GeomFromText(@mls)) | +----------------------------------+ | 4.242640687119286 | +----------------------------------+ST_Length()should be used in preference toGLength(), which has a nonstandard name.Returns the number of
Pointobjects in theLineStringvaluels. If the argument isNULLor an empty geometry, the return value isNULL.mysql> SET @ls = 'LineString(1 1,2 2,3 3)'; mysql> SELECT ST_NumPoints(ST_GeomFromText(@ls)); +------------------------------------+ | ST_NumPoints(ST_GeomFromText(@ls)) | +------------------------------------+ | 3 | +------------------------------------+ST_NumPoints()andNumPoints()are synonyms.Returns the
N-thPointin theLinestringvaluels. Points are numbered beginning with 1. If any argument isNULLor the geometry argument is an empty geometry, the return value isNULL.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) | +----------------------------------------------+ST_PointN()andPointN()are synonyms.Returns the
Pointthat is the start point of theLineStringvaluels. If the argument isNULLor an empty geometry, the return value isNULL.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) | +------------------------------------------------+ST_StartPoint()andStartPoint()are synonyms.ST_StartPoint()andStartPoint()are synonyms. For more information, see the description ofST_StartPoint().StartPoint()is deprecated; expect it to be removed in a future MySQL release. UseST_StartPoint()instead.