LineString состоит из значений Point. Вы можете извлекать специфические пункты (точки) LineString, считать число точек объекта или получать длину.

EndPoint(ls)

Возвращает Point, которая является оконечной точкой значения LineString ls.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.8284271247462 |

+----------------------------+

GLength() ненормативное имя. Это передает данные функции OpenGIS Length().

NumPoints(ls)

Возвращает число объектов Point в the LineString ls.mysql> SET @ls = 'LineString(1 1,2 2,3 3)';

mysql> SELECT NumPoints(GeomFromText(@ls));

+------------------------------+

| NumPoints(GeomFromText(@ls)) |

+------------------------------+

| 3 |

+------------------------------+

PointN(ls,N)

Возвращает N-ый Point в Linestring ls. Точки пронумерованы, начиная с 1.mysql> SET @ls = 'LineString(1 1,2 2,3 3)';

mysql> SELECT AsText(PointN(GeomFromText(@ls),2));

+-------------------------------------+

| AsText(PointN(GeomFromText(@ls),2)) |

+-------------------------------------+

| POINT(2 2) |

+-------------------------------------+

StartPoint(ls)

Возвращает Point, которая является отметкой начала значения point of the LineString ls.mysql> SET @ls = 'LineString(1 1,2 2,3 3)';

mysql> SELECT AsText(StartPoint(GeomFromText(@ls)));

+---------------------------------------+

| AsText(StartPoint(GeomFromText(@ls))) |

+---------------------------------------+

| POINT(1 1) |

+---------------------------------------+

Спецификация OpenGIS также определяет следующую функцию, которую MySQL не выполняет:

IsRing(ls)

Возвращает 1, если значение LineString value ls закрыто (то есть, значения StartPoint() и EndPoint() те же самые) и просто (не проходит через ту же самую точку больше, чем один раз). Возвращается 0, если ls не кольцо, и 1, если это NULL.