ST_LocateBetween
Prev | 8.18. Linear Referencing | Next

## Name

ST_LocateBetween — Returns the portions of a geometry that match a measure range.

## Synopsis

`geometry ST_LocateBetween(`geometry geom, float8 measure_start, float8 measure_end, float8 offset = 0`)`;

## Description

Return a geometry (collection) with the portions of the input measured geometry that match the specified measure range (inclusively).

If the `offset` is provided, the result is offset to the left or right of the input line by the specified distance. A positive offset will be to the left, and a negative one to the right.

Clipping a non-convex POLYGON may produce invalid geometry.

The semantic is specified by the ISO/IEC 13249-3 SQL/MM Spatial standard.

Availability: 1.1.0 by old name ST_Locate_Between_Measures.

Changed: 2.0.0 - in prior versions this used to be called ST_Locate_Between_Measures.

Enhanced: 3.0.0 - added support for POLYGON, TIN, TRIANGLE.

This function supports M coordinates.

This method implements the SQL/MM specification. SQL-MM IEC 13249-3: 5.1

## Examples

    SELECT ST_AsText(
      ST_LocateBetween(
           'MULTILINESTRING M ((1 2 3, 3 4 2, 9 4 3),(1 2 3, 5 4 5))':: geometry,
           1.5, 3 ));
    ------------------------------------------------------------------------
     GEOMETRYCOLLECTION M (LINESTRING M (1 2 3,3 4 2,9 4 3),POINT M (1 2 3))

A LineString with the section between measures 2 and 8, offset to the left

    SELECT ST_AsText( ST_LocateBetween(
      ST_AddMeasure('LINESTRING (20 180, 50 20, 100 120, 180 20)', 0, 10),
      2, 8,
      20
    ));
    ------------------------------------------------------------------------
    MULTILINESTRING((54.49835019899045 104.53426957938231,58.70056060327303 82.12248075654186,69.16695286779743 103.05526528559065,82.11145618000168 128.94427190999915,84.24893681714357 132.32493442618113,87.01636951231555 135.21267035596549,90.30307285299679 137.49198684843182,93.97759758337769 139.07172433557758,97.89298381958797 139.8887023914453,101.89263860095893 139.9102465862721,105.81659870902816 139.13549527600819,109.50792827749828 137.5954340631298,112.81899532549731 135.351656550512,115.6173761888606 132.49390095108848,145.31017306064817 95.37790486135405))

## See Also

ST_LocateAlong, ST_LocateBetweenElevations

Prev | Up | Next
ST_LocateAlong | Home | ST_LocateBetweenElevations