Name

ST_LineInterpolatePoints — Gibt einen oder mehrere, entlang einer Linie interpolierte Punkte zurück.

Synopsis

geometry ST_LineInterpolatePoints(geometry a_linestring, float8 a_fraction, boolean repeat);

geography ST_LineInterpolatePoints(geography a_linestring, float8 a_fraction, boolean use_spheroid = true, boolean repeat = true);

Beschreibung

Gibt einen oder mehrere Punkte zurück, die entlang einer Linie in einem Bruchteilintervall interpoliert wurden. Das erste Argument muss ein LINESTRING sein. Das zweite Argument ist ein float8 zwischen 0 und 1, der den Abstand zwischen den Punkten als Bruchteil der Linienlänge angibt. Wenn das dritte Argument false ist, wird höchstens ein Punkt konstruiert (was ST_LineInterpolatePoint entspricht).

Wenn das Ergebnis null oder einen Punkt hat, wird es als POINT zurückgegeben. Wenn es zwei oder mehr Punkte hat, wird es als MULTIPOINT zurückgegeben.

Verfügbarkeit: 2.5.0

Diese Funktion unterstützt 3d und lässt den Z-Index nicht fallen.

Diese Funktion unterstützt M-Koordinaten.

Beispiele

Ein LineString mit alle 20% interpolierten Punkten

--Return points each 20% along a 2D line
SELECT ST_AsText(ST_LineInterpolatePoints('LINESTRING(25 50, 100 125, 150 190)', 0.20))
----------------
 MULTIPOINT((51.5974135047432 76.5974135047432),(78.1948270094864 103.194827009486),(104.132163186446 130.37181214238),(127.066081593223 160.18590607119),(150 190))

Siehe auch

ST_LineInterpolatePointDiese Funktion ändert den Namen einer bestehenden TopoGeometry-Spalte und stellt sicher, dass die Metadateninformationen entsprechend aktualisiert werden.