LocateBetween verwendet ein Geometrieobjekt und zwei Meßstandorte und gibt eine Geometrie zurück, die die Gruppe der unterbrochenen Pfade zwischen den beiden Meßstandorten darstellt.
Syntax
db2gse.LocateBetween(g db2gse.ST_Geometry, adistance Double, anotherdistance Double)
Rückgabetyp
db2gse.ST_Geometry
Beispiele
Die folgende Anweisung CREATE TABLE erstellt die Tabelle LOCATEBETWEEN_TEST. LOCATEBETWEEN_TEST enthält zwei Spalten: die Spalte GID, die jede Zeile eindeutig kennzeichnet, und die Mehrlinienspalte G1, in der die Mustergeometrie gespeichert wird.
CREATE TABLE LOCATEBETWEEN_TEST (gid integer, g1 db2gse.ST_Geometry)
Die folgenden INSERT-Anweisungen fügen zwei Zeilen in die Tabelle LOCATEBETWEEN_TEST ein. Die erste Zeile ist eine Mehrlinienfolge (Multilinestring) , die zweite eine Mehrpunktangabe (Multipoint).
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)))
Die folgende Anweisung SELECT und die entsprechende Ergebnisgruppe zeigen, wie die Funktion LocateBetween Maße zwischen den Angaben 6.5 und 7.5 (je einschließlich) findet. Die erste Zeile gibt eine Mehrlinienfolge mit mehreren Linienfolgen (Linestrings) zurück. Die zweite Zeile gibt eine Mehrpunktangabe (Multipoint) zurück, da es sich bei den Quellendaten um Mehrpunktangaben handelte. Wenn die Quellendaten eine Dimension von 0 (Punkt oder Mehrpunkt) haben, ist eine exakte Übereinstimmung erforderlich.
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.