Benutzer- und Referenzhandbuch

LocateAlong

LocateAlong verwendet ein Geometrieobjekt und ein Maß und gibt die in diesem Maß gefundenen Punkte als Mehrpunktergebnis (Multipoint) zurück.

Syntax

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

Rückgabetyp

db2gse.ST_Geometry

Beispiele

Die folgende Anweisung CREATE TABLE erstellt die Tabelle LOCATEALONG_TEST. LOCATEALONG_TEST enthält zwei Spalten: die Spalte GID, die jede Zeile eindeutig kennzeichnet, und die Spalte G1, in der die Mustergeometrie gespeichert wird.

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

Die folgenden INSERT-Anweisungen fügen zwei Zeilen ein. Die erste ist eine Mehrlinienfolge (Multilinestring), die zweite eine Mehrpunktangabe (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))) 

In der folgenden Anweisung SELECT und der entsprechenden Ergebnisgruppe wird die Funktion LocateAlong angewiesen, die Punkte mit dem Maß 6.5 zu finden. Die erste Zeile gibt eine Mehrpunktangabe (Multipoint) mit zwei Punkten zurück. Die zweite Zeile gibt dagegen einen leeren Punkt zurück. Für lineare Funktionen (Geometrie mit einer Abmessung größer als 0) kann LocateAlong den Punkt interpolieren; bei Mehrpunktangaben (Multipoint) muß das Zielmaß jedoch exakt übereinstimmen.

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. 

In der folgenden Anweisung SELECT und der entsprechenden Ergebnisgruppe gibt die Funktion LocateAlong für beide Punkte Mehrpunktangaben (Multipoint) zurück. Das Zielmaß von 7 entspricht den Maßen in den Mehrlinien- und Mehrpunkt-Quellendaten.

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. 


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]