LocateBetween rileva un oggetto di geometria e due ubicazioni delle misure e restituisce una geometria che rappresenta la serie di percorsi disconnessi tra le due ubicazioni delle misure.
Sintassi
db2gse.LocateBetween(g db2gse.ST_Geometry, adistance Double, anotherdistance Double)
Tipo di ritorno
db2gse.ST_Geometry
Esempi
La seguente istruzione CREATE TABLE crea la tabella LOCATEBETWEEN_TEST. LOCATEBETWEEN_TEST ha due colonne: la colonna GID, che identifica ogni riga in modo univoco, e la colonna della multistringa lineare G1, che memorizza esempi di geometria.
CREATE TABLE LOCATEBETWEEN_TEST (gid integer, g1 db2gse.ST_Geometry)
Le seguenti istruzioni INSERT inseriscono due righe nella tabella LOCATEBETWEEN_TEST. La prima riga è una multistringa lineare e la seconda è un multipunto.
INSERT INTO db2gse.LOCATEBETWEEN_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.LOCATEBETWEEN_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 8)', db2gse.coordref()..srid(0)))
La seguente istruzione SELECT e la corrispondente serie di risultati mostrano il modo in cui la funzione LocateBetween calcola le misure comprese tra 6.5 e 7.5 inclusi. La prima riga restituisce una multistringa lineare contenente due stringhe lineari. La seconda riga restituisce un multipunto perché i dati di origine erano multipunti. Se la dimensione dei dati di origine è 0 (punto o multipunto), è richiesta una corrispondenza esatta.
SELECT gid, CAST(db2gse.ST_AsText(db2gse.LocateBetween (g1,6.5,7.5)) AS varchar(96)) "Geometry" FROM LOCATEBETWEEN_TEST GID Geometry ----------- ------------------------------------------------------------------- 1 MULTILINESTRING M ( 27.01000000 19.38000000 6.50000000, 31.19000000 18.47000000 7.00000000,38.09000000 19.61000000 7.50000000),(27.40000000 22.1400 0000 6.50000000, 30.98000000 23.98000000 7.00000000,36.95000000 24.98000000 7.5 0000000) 2 MULTIPOINT M ( 30.19000000 18.47000000 7.00000000, 30.98000000 23.9 8000000 7.00000000) 2 record(s) selected.