ST_LineMerge — Renvoie les lignes formées par la couture d'une MultiLineString.
geometry ST_LineMerge(
geometry amultilinestring)
;
geometry ST_LineMerge(
geometry amultilinestring, boolean directed)
;
Renvoie une LineString ou une MultiLineString formée par l'assemblage des éléments de ligne d'une MultiLineString. Les lignes sont jointes à leurs extrémités aux intersections à 2 voies. Les lignes ne sont pas jointes aux intersections à 3 voies ou plus.
Si directed est TRUE, ST_LineMerge ne modifiera pas l'ordre des points dans les LineStrings, de sorte que les lignes ayant des directions opposées ne seront pas fusionnées
A n'utiliser qu'avec les MultiLineString/LineStrings. Les autres types de géométrie renvoient une GeometryCollection vide |
Effectué par le module GEOS.
Amélioration : 3.3.0 accepte un paramètre direct.
GEOS >= 3.11.0 est nécessaire pour utiliser le paramètre direct.
Disponibilité : 1.1.0
Cette fonction supprime la dimension M. |
SELECT ST_AsText(ST_LineMerge( 'MULTILINESTRING((10 160, 60 120), (120 140, 60 120), (120 140, 180 120))' )); -------------------------------------------- LINESTRING(10 160,60 120,120 140,180 120)
SELECT ST_AsText(ST_LineMerge( 'MULTILINESTRING((10 160, 60 120), (120 140, 60 120), (120 140, 180 120), (100 180, 120 140))' )); -------------------------------------------- MULTILINESTRING((10 160,60 120,120 140),(100 180,120 140),(120 140,180 120))
Si la fusion n'est pas possible en raison de lignes qui ne se touchent pas, la MultiLineString d'origine est renvoyée.
SELECT ST_AsText(ST_LineMerge( 'MULTILINESTRING((-29 -27,-30 -29.7,-36 -31,-45 -33),(-45.2 -33.2,-46 -32))' )); ---------------- MULTILINESTRING((-45.2 -33.2,-46 -32),(-29 -27,-30 -29.7,-36 -31,-45 -33))
SELECT ST_AsText(ST_LineMerge( 'MULTILINESTRING((60 30, 10 70), (120 50, 60 30), (120 50, 180 30))', TRUE)); ------------------------------------------------------- MULTILINESTRING((120 50,60 30,10 70),(120 50,180 30))
Exemple de traitement de la dimension Z.
SELECT ST_AsText(ST_LineMerge( 'MULTILINESTRING((-29 -27 11,-30 -29.7 10,-36 -31 5,-45 -33 6), (-29 -27 12,-30 -29.7 5), (-45 -33 1,-46 -32 11))' )); -------------------------------------------------------------------------------------------------- LINESTRING Z (-30 -29.7 5,-29 -27 11,-30 -29.7 10,-36 -31 5,-45 -33 1,-46 -32 11)