Guide d'utilisation et de référence

LocateAlong

LocateAlong utilise en entrée un objet de type géométrie et une mesure, et renvoie l'ensemble de points trouvés à la mesure sous forme de multipoint.

Si LocateAlong reçoit un multipoint et une mesure en entrée et si le multipoint n'inclut pas cette mesure, LocateAlong renvoie POINT EMPTY (point vide).

Syntaxe

db2gse.LocateAlong(g db2gse.ST_Geometry, [measure] Double)

Type de retour

db2gse.ST_Geometry

Exemples

L'instruction CREATE TABLE ci-après crée la table LOCATEALONG_TEST qui comporte deux colonnes : la colonne GID qui identifie chaque ligne de la table de manière univoque et la colonne de type géométrie G1 qui stocke la géométrie exemple.

CREATE TABLE LOCATEALONG_TEST (gid integer, g1 db2gse.ST_Geometry) 

Les instructions INSERT ci-après insèrent deux lignes de table. La première est une multiligne, et la seconde, un multipoint.

INSERT INTO db2gse.LOCATEALONG_TEST VALUES(
1, db2gse.ST_MLineFromText('multilinestring m ((10.29 19.23 5,23.82 20.29 6,
                                        30.19 18.47 7,
45.98 20.74 8), (23.82 20.29 6,30.98 23.98 7,42.92 25.98 8))',
                                   db2gse.coordref()..srid(0)))
 
INSERT INTO db2gse.LocateAlong_TEST VALUES(
2, db2gse.ST_MPointFromText('multipoint m (10.29 19.23 5,23.82 20.29 6,
 30.19 18.47 7,45.98 20.74 8,23.82 20.29 6,30.98 23.98 7,42.92 25.98)',
                 db2gse.coordref()..srid(0))) 

Dans l'instruction SELECT ci-après et l'ensemble de résultats correspondant, la fonction LocateAlong est conçue pour détecter les points qui ont une mesure de 6,5. La première ligne de la table renvoie un multipoint contenant deux points. Par contre, la seconde renvoie un point vide. Pour les entités linéaires (géométries dotées d'une dimension supérieure à 0), LocateAlong peut interpoler le point ; par contre, dans le cas de multipoints, la mesure cible doit être exactement identique.

SELECT gid, CAST(db2gse.ST_AsText(db2gse.LocateAlong (g1,6.5)) AS
varchar(96)) "Geometry"
FROM LOCATEALONG_TEST
 
 
 
GID         Geometry
----------- --------------------------------------------------------------
 
          1 MULTIPOINT M ( 27.01000000 19.38000000 6.50000000, 27.40000000
22.14000000 6.50000000)
          2 POINT EMPTY
 
  2 record(s) selected. 

Dans l'instruction SELECT ci-après et l'ensemble de résultats correspondant, la fonction LocateAlong renvoie des multipoints pour les deux lignes de la table. La mesure cible de valeur 7 est exactement identique aux mesures contenues dans les données source de la multiligne et du multipoint.

SELECT gid,CAST(db2gse.ST_AsText(db2gse.LocateAlong (g1,7)) AS
varchar(96)) "Geometry"
FROM LOCATEALONG_TEST
 
GID         Geometry
 
----------- --------------------------------------------------------------
          1 MULTIPOINT M ( 30.19000000 18.47000000 7.00000000, 30.98000000
 23.98000000 7.00000000)
          2 MULTIPOINT M ( 30.19000000 18.47000000 7.00000000, 30.98000000
 23.98000000 7.00000000)
 
  2 record(s) selected. 


[ Début de page | Page précédente | Page suivante | Table des matières | Index ]