ST_PointN toma uma cadeia de linha e um índice de inteiros e retorna um ponto que é o vértice nth no caminho da cadeia de linhas.
Sintaxe
db2gse.ST_PointN(l db2gse.ST_Curve, n Integer)
Tipo de retorno
db2gse.ST_Point
Exemplos
A seguinte tabela CREATE TABLE cria a tabela POINTN_TEST, que tem duas colunas: a coluna GID, que identifica exclusivamente cada linha, e a coluna da cadeia de linhas LN1.
CREATE TABLE POINTN_TEST (gid integer, ln1 db2gse.ST_LineString)
A seguinte instrução INSERT insere dois valores da cadeia de linhas. A primeira cadeia de linha não possui coordenadas Z ou medidas, ao passo que a segunda possui ambas.
INSERT INTO POINTN_TEST VALUES(1, db2gse.ST_LineFromText('linestring (10.02 20.01,23.73 21.92,30.10 40.23)', db2gse.coordref()..srid(0))) INSERT INTO POINTN_TEST VALUES(2, db2gse.ST_LineFromText('linestring zm (10.02 20.01 5.0 7.0, 23.73 21.92 6.5 7.1, 30.10 40.23 6.9 7.2)', db2gse.coordref()..srid(0)))
A seguinte instrução SELECT e o conjunto de resultados correspondente relacionam a coluna GID e o segundo vértice de cada cadeia de linha. A primeira linha resulta num ponto sem uma coordenada Z ou medida, ao passo que a segunda linha resulta num ponto com uma coordenada Z e uma medida. A função ST_PointN retorna pontos com uma coordenada Z ou uma medida, se existirem na cadeia de linhas de origem.
SELECT gid, CAST(db2gse.ST_AsText(db2gse.ST_PointN(ln1,2)) AS varchar(60)) "The 2nd vertice" FROM POINTN_TEST GID The 2nd vertice ----------- ------------------------------------------------------------ 1 POINT ( 23.73000000 21.92000000) 2 POINT ZM ( 23.73000000 21.92000000 7.00000000 7.10000000) 2 record(s) selected.