Funções de Análise das Propriedades de LineString
Uma LineString
consiste de valores Point
. Você pode extrair pontos particulares de uma LineString
, contar o número de pontos que ela contém ou obter o seu tamanho.
EndPoint(ls)
Retorna o
Point
que é o ponto final do valorLineString
ls
.mysql>
SELECT AsText(EndPoint(GeomFromText('LineString(1 1,2 2,3 3)')));
+------------------------------------------------------------+ | AsText(EndPoint(GeomFromText('LineString(1 1,2 2,3 3)'))) | +------------------------------------------------------------+ | POINT(3 3) | +------------------------------------------------------------+GLength(ls)
Returna como um número de precisão dupla o tamanho do valor
LineString
ls
em sua referência espacial associada.mysql>
SELECT GLength(GeomFromText('LineString(1 1,2 2,3 3)'));
+--------------------------------------------------+ | GLength(GeomFromText('LineString(1 1,2 2,3 3)')) | +--------------------------------------------------+ | 2.8284271247462 | +--------------------------------------------------+IsClosed(ls)
Returna 1 se o valor
LineString
ls
é fechado (isto é, seus valoresStartPoint()
eEndPoint()
são os mesmos). Returna 0 sels
não é fechado, e −1 se ele éNULL
.mysql>
SELECT IsClosed(GeomFromText('LineString(1 1,2 2,3 3)'));
+---------------------------------------------------+ | IsClosed(GeomFromText('LineString(1 1,2 2,3 3)')) | +---------------------------------------------------+ | 0 | +---------------------------------------------------+NumPoints(ls)
retorna o número de pontos no valor
LineString
ls
.mysql>
SELECT NumPoints(GeomFromText('LineString(1 1,2 2,3 3)'));
+----------------------------------------------------+ | NumPoints(GeomFromText('LineString(1 1,2 2,3 3)')) | +----------------------------------------------------+ | 3 | +----------------------------------------------------+PointN(ls,n)
Returna o
n
-ésimo ponto no valorLinestring
ls
.mysql>
SELECT AsText(PointN(GeomFromText('LineString(1 1,2 2,3 3)'),2));
+-----------------------------------------------------------+ | AsText(PointN(GeomFromText('LineString(1 1,2 2,3 3)'),2)) | +-----------------------------------------------------------+ | POINT(2 2) | +-----------------------------------------------------------+StartPoint(ls)
Returna o
Point
que é o ponto inicial do valorLineString
ls
.mysql>
SELECT AsText(StartPoint(GeomFromText('LineString(1 1,2 2,3 3)')));
+-------------------------------------------------------------+ | AsText(StartPoint(GeomFromText('LineString(1 1,2 2,3 3)'))) | +-------------------------------------------------------------+ | POINT(1 1) | +-------------------------------------------------------------+
A especificação OpenGIS também define as seguintes funções, que o MariaDB ainda não implementou:
IsRing(ls)
Retorna 1 se o valor
LineString
ls
é fechado (isto é, seus valoresStartPoinnt()
eEndPoint()
são os mesmos) e é simples (não passa pelo mesmo ponto mais de uma vez). Retorna 0 sels
não é um anel, −1 se éNULL
.