Guida di riferimento per l'utente

LocateAlong

LocateAlong rileva un oggetto di geometria e una misura e restituisce la serie di punti trovata nella misura come multipunto.

Sintassi

db2gse.LocateAlong(g db2gse.ST_Geometry, adistance Double)

Tipo di ritorno

db2gse.ST_Geometry

Esempi

La seguente istruzione CREATE TABLE crea la tabella LOCATEALONG_TEST. LOCATEALONG_TEST ha due colonne: la colonna GID, che identifica ogni riga in modo univoco, e la colonna di geometria G1, che memorizza esempi di geometria.

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

Le seguenti istruzioni INSERT inseriscono due righe. La prima è una multistringa lineare, le seconda è un multipunto.

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))) 

Nella seguente istruzione SELECT e nella serie di risultati corrispondente, la funzione LocateAlong viene utilizzata per ricercare i punti le cui misure corrispondono a 6.5. La prima riga restituisce un multipunto contenente due punti. Invece, la seconda riga restituisce un punto vuoto. Per le funzioni lineari (la geometria con una dimensione maggiore di 0), LocateAlong può eseguire l'interpolazione del punto; tuttavia, per i multipunti, la misura di destinazione deve corrispondere esattamente.

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. 

Nella seguente istruzione SELECT e nella serie di risultati corrispondente, la funzione LocateAlong restituisce multipunti per entrambe le righe. La misura di destinazione 7 corrisponde alle misure dei dati di origine della multistringa lineare e del multipunto.

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. 


[ Inizio pagina | Pagina precedente | Pagina successiva | Indice | Indice analitico ]