Name

ST_AddMeasure — Interpolates measures along a linear geometry.

Synopsis

geometry ST_AddMeasure(geometry geom_mline, float8 measure_start, float8 measure_end);

Beschreibung

Gibt eine abgeleitete Geometrie mit einer zwischen Anfangs- und Endpunkt linear interpolierten Kilometrierung zurück. Wenn die Geometrie keine Dimension für die Kilometrierung aufweist, wird diese hinzugefügt. Wenn die Geometrie eine Dimension für die Kilometrierung hat, wird diese mit den neuen Werten überschrieben. Es werden nur LINESTRINGs und MULTILINESTRINGs unterstützt.

Verfügbarkeit: 1.5.0

This function supports 3d and will not drop the z-index.

Beispiele

SELECT ST_AsText(ST_AddMeasure(
ST_GeomFromEWKT('LINESTRING(1 0, 2 0, 4 0)'),1,4)) As ewelev;
           ewelev
--------------------------------
 LINESTRINGM(1 0 1,2 0 2,4 0 4)

SELECT ST_AsText(ST_AddMeasure(
ST_GeomFromEWKT('LINESTRING(1 0 4, 2 0 4, 4 0 4)'),10,40)) As ewelev;
                 ewelev
----------------------------------------
 LINESTRING(1 0 4 10,2 0 4 20,4 0 4 40)

SELECT ST_AsText(ST_AddMeasure(
ST_GeomFromEWKT('LINESTRINGM(1 0 4, 2 0 4, 4 0 4)'),10,40)) As ewelev;
                 ewelev
----------------------------------------
 LINESTRINGM(1 0 10,2 0 20,4 0 40)

SELECT ST_AsText(ST_AddMeasure(
ST_GeomFromEWKT('MULTILINESTRINGM((1 0 4, 2 0 4, 4 0 4),(1 0 4, 2 0 4, 4 0 4))'),10,70)) As ewelev;
                             ewelev
-----------------------------------------------------------------
 MULTILINESTRINGM((1 0 10,2 0 20,4 0 40),(1 0 40,2 0 50,4 0 70))