ST_PointN utilise en entrée une ligne et un index de nombres entiers, et renvoie un point représentant le nième sommet appartenant au tracé de la ligne.
Syntaxe
db2gse.ST_PointN(l db2gse.ST_Curve, n Integer)
Type de retour
db2gse.ST_Point
Exemples
L'instruction CREATE TABLE ci-après crée la table POINTN_TEST qui comporte deux colonnes : la colonne GID qui identifie chaque ligne de la table de manière univoque et la colonne de type ligne LN1.
CREATE TABLE POINTN_TEST (gid integer, ln1 db2gse.ST_LineString)
Les instructions INSERT ci-après insèrent deux valeurs de ligne. La première n'a pas de coordonnées Z, ni de mesures alors que la seconde est dotée des deux.
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)))
L'instruction SELECT ci-après et l'ensemble de résultats correspondant présentent la colonne GID et le second sommet de chaque ligne. La première ligne de la table résulte en un point sans coordonnée Z, ni mesure, alors que le résultat de la seconde est un point doté d'une coordonnée Z et d'une mesure. La fonction ST_PointN renvoie un point avec une coordonnée Z ou une mesure, si ceux-ci existent dans la ligne source.
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.