LocateBetween toma un objeto de geometría y dos ubicaciones de medidas y devuelve una geometría que representa el grupo de rutas desconectadas entre las dos ubicaciones de medidas.
Sintaxis
db2gse.LocateBetween(g db2gse.ST_Geometry, adistance Double, anotherdistance Double)
Tipo devuelto
db2gse.ST_Geometry
Ejemplos
La siguiente sentencia CREATE TABLE crea la tabla LOCATEBETWEEN_TEST. LOCATEBETWEEN_TEST tiene dos columnas: la columna GID, que identifica de forma exclusiva cada fila, y la columna de varias series lineales G1, que almacena la geometría de ejemplo.
CREATE TABLE LOCATEBETWEEN_TEST (gid integer, g1 db2gse.ST_Geometry)
Las siguientes sentencias INSERT insertan dos filas en la tabla LOCATEBETWEEN_TEST. La primera fila es una geometría varias series lineales y la segunda es una geometría varios puntos.
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 siguiente sentencia SELECT y el conjunto de resultados correspondiente muestran cómo la función LocateBetween localiza las medidas que quedan entre las medidas 6,5 y 7,5, ambas inclusive. La primera fila devuelve una geometría varias series lineales que contiene varias series lineales. La segunda fila devuelve varios puntos porque los datos fuente eran varios puntos. Cuando los datos fuente tienen una dimensión de 0 (punto o varios puntos), se necesita una coincidencia exacta.
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.