ST_LocateBetween — Returnerar de delar av en geometri som matchar ett mätintervall.
geometry ST_LocateBetween(
geometry geom, float8 measure_start, float8 measure_end, float8 offset = 0)
;
Returnerar en geometri (samling) med de delar av den inmatade uppmätta geometrin som matchar det angivna mätområdet (inklusive).
Om offset
anges kommer resultatet att förskjutas till vänster eller höger om inmatningsraden med det angivna avståndet. En positiv förskjutning blir till vänster och en negativ till höger.
Att klippa en icke-konvex POLYGON kan ge ogiltig geometri.
Semantiken specificeras av standarden ISO/IEC 13249-3 SQL/MM Spatial.
Tillgänglighet: 1.1.0 med det gamla namnet ST_Locate_Between_Measures.
Ändrad: 2.0.0 - i tidigare versioner hette detta ST_Locate_Between_Measures.
Förbättrad: 3.0.0 - stöd för POLYGON, TIN, TRIANGLE har lagts till.
Denna funktion stöder M-koordinater.
Denna metod implementerar SQL/MM-specifikationen. SQL-MM IEC 13249-3: 5.1
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 med avsnittet mellan takt 2 och 8, förskjutet åt vänster
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))