ST_PointN toma una serie lineal y un índice de entero y devuelve un punto que es el vértice número n de la ruta de la serie lineal.
Sintaxis
db2gse.ST_PointN(l db2gse.ST_Curve, n Integer)
Tipo devuelto
db2gse.ST_Point
Ejemplos
La siguiente sentencia CREATE TABLE crea la tabla POINTN_TEST, que tiene dos columnas: la columna GID, que identifica de forma exclusiva cada fila, y la columna tipo serie lineal LN1.
CREATE TABLE POINTN_TEST (gid integer, ln1 db2gse.ST_LineString)
Las siguientes sentencias INSERT insertan dos valores de serie lineal. La primera serie lineal no tiene coordenadas Z ni medidas, mientras que la segunda serie lineal tiene 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)))
La siguiente sentencia SELECT y el conjunto de resultados correspondiente listan la columna GID y el segundo vértice de cada serie lineal. La primera fila da como resultado un punto sin coordenada Z ni medida, mientras que la segunda fila da como resultado un punto con una coordenada Z y una medida. La función ST_PointN devuelve puntos con una coordenada Z o una medida si las hay en la serie lineal fuente.
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.