Name

ST_LocateBetween — Renvoie les parties d'une géométrie qui correspondent à un intervalle de mesure.

Synopsis

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

Description

Renvoie une géométrie (collection) contenant les parties de la géométrie mesurée en entrée qui correspondent à l'intervalle de mesure spécifié (inclusivement).

Si le offset est fourni, le résultat est décalé à gauche ou à droite de la ligne d'entrée de la distance spécifiée. Un décalage positif se fera vers la gauche, et un décalage négatif vers la droite.

Couper un POLYGONE non convexe peut produire une géométrie non valide.

La sémantique est spécifiée par la norme ISO/IEC 13249-3 SQL/MM Spatial.

Disponibilité : 1.1.0 sous l'ancien nom ST_Locate_Between_Measures.

Modifié : 2.0.0 - dans les versions précédentes, cette fonction s'appelait ST_Locate_Between_Measures.

Amélioration : 3.0.0 - ajout de la prise en charge du POLYGONE, du TIN et du TRIANGLE.

Cette fonction prend en charge les coordonnées M.

Cette méthode implémente la spécification SQL/MM.

SQL-MM IEC 13249-3: 5.1

Exemples

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))

Une LineString avec la section entre les mesures 2 et 8, décalée vers la gauche

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))

Voir aussi

ST_LocateAlong, ST_LocateBetweenElevations