ST_PointN rileva una stringa lineare e un indice integer e restituisce un punto che rappresenta l'ennesimo vertice nel percorso della stringa lineare.
Sintassi
db2gse.ST_PointN(l db2gse.ST_Curve, n Integer)
Tipo di ritorno
db2gse.ST_Point
Esempi
La seguente istruzione CREATE TABLE crea la tabella POINTN_TEST, che contiene due colonne: la colonna GID, che identifica in modo univoco ciascuna riga, e la colonna della stringa lineare LN1.
CREATE TABLE POINTN_TEST (gid integer, ln1 db2gse.ST_LineString)
Le seguenti istruzioni INSERT inseriscono due valori di stringhe lineari. La prima stringa lineare non presenta misure o coordinate Z, mentre la seconda presenta entrambi.
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)))
La seguente istruzione SELECT e la serie di risultati corrispondenti elencano la colonna GID ed il secondo vertice di ciascuna stringa lineare. La prima riga diviene un punto senza misura o coordinata Z e la seconda riga diviene un punto con una misura ed una coordinata Z. La funzione ST_PointN restituisce punti con una misura ed una coordinata Z, se sono presenti nella stringa lineare di origine.
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.