12.16.7.3 Функции свойств LineString и MultiLineString
Значение типа LineString состоит из Point значений. Можно извлечь определенные точки LineString, подсчитать количество точек, или получить её длину.
Некоторые функции в этом разделе также работают со значениями MultiLineString.
-
ST_EndPoint()иEndPoint()— это синонимы. Дополнительную информацию см. в описанииST_EndPoint().EndPoint()устарела; ожидается, что она будет удалена в будущих выпусках MySQL. ИспользуйтеST_EndPoint()вместо неё. -
GLength()— нестандартное имя. Оно соответствует функции OpenGISST_Length(). (Существует имеющаяся функция SQLLength(), которая вычисляет длину строковых значений.)GLength()устарела; ожидается, что она будет удалена в будущих выпусках MySQL. ИспользуйтеST_Length()вместо неё. -
ST_IsClosed()иIsClosed()— это синонимы. Дополнительную информацию см. в описанииST_IsClosed().IsClosed()устарела; ожидается, что она будет удалена в будущих выпусках MySQL. ИспользуйтеST_IsClosed()вместо неё. -
ST_NumPoints()иNumPoints()— это синонимы. Дополнительную информацию см. в описанииST_NumPoints().NumPoints()устарела; ожидается, что она будет удалена в будущих выпусках MySQL. ИспользуйтеST_NumPoints()вместо неё. -
ST_PointN()иPointN()— это синонимы. Дополнительную информацию см. в описанииST_PointN().PointN()устарела; ожидается, что она будет удалена в будущих выпусках MySQL. ИспользуйтеST_PointN()вместо неё. -
Возвращает
Point, являющуюся конечной точкой значенияLineStringls. Если аргумент —NULLили пустая геометрия, возвращаемое значение —NULL.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()иEndPoint()— это синонимы.
-
Для значения
LineStringls,ST_IsClosed()возвращает 1, еслиlsзамкнуто (то есть, его значенияST_StartPoint()иST_EndPoint()совпадают). Если аргумент являетсяNULLили пустой геометрией, возвращаемое значение равноNULL.Для значения
MultiLineStringls,ST_IsClosed()возвращает 1, еслиlsзамкнуто (то есть, значенияST_StartPoint()иST_EndPoint()совпадают для каждогоLineStringвls).ST_IsClosed()возвращает 0, еслиlsне замкнуто.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()иIsClosed()являются синонимами. -
Возвращает число двойной точности, обозначающее длину
LineStringили значенияMultiLineStringlsв его связанной пространственной системе координат. Длина значенияMultiLineStringравна сумме длин его элементов. Если аргумент являетсяNULLили пустой геометрией, возвращаемое значение равноNULL.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()следует использовать вместоGLength(), которое имеет нестандартное имя. -
Возвращает количество объектов
Pointв значенииLineStringls. Если аргумент являетсяNULLили пустой геометрией, возвращаемое значение равноNULL.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()иNumPoints()являются синонимами. -
Возвращает
N-й объектPointв значенииLinestringls. Точки нумеруются, начиная с 1. Если любой аргумент являетсяNULLили геометрический аргумент является пустой геометрией, возвращаемое значение равноNULL.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()иPointN()являются синонимами. -
Возвращает
Point, являющийся начальной точкой значенияLineStringls. Если аргумент являетсяNULLили пустой геометрией, возвращаемое значение равноNULL.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()иStartPoint()являются синонимами.
-
ST_StartPoint()иStartPoint()являются синонимами. Для получения дополнительной информации см. описаниеST_StartPoint().StartPoint()устарел; ожидается, что он будет удален в будущей версии MySQL. ИспользуйтеST_StartPoint()вместо него.
© 2025 Oracle
Licensed under the GPLv2 License.