Name

ST_Node — Nœuds d'une collection de lignes.

Synopsis

geometry ST_Node(geometry geom);

Description

Renvoie une (Multi)LineString représentant la version entièrement "nodée" d'une collection de lignes. Le "noding" préserve tous les nœuds d'entrée et introduit le plus petit nombre possible de nouveaux nœuds. La ligne résultante est dissoute (les lignes en double sont supprimées).

Il s'agit d'un bon moyen de créer des lignes entièrement "nodées" pouvant être utilisées dans ST_Polygonize.

ST_UnaryUnion peut également être utilisé pour créer des nœuds et dissoudre des lignes. Il est possible de spécifier une taille de grille, ce qui permet d'obtenir des résultats plus simples et plus robustes. Voir aussi ST_Union pour une variante agrégée.

Cette fonction prend en charge la 3D et ne supprime pas l'indice z.

Effectué par le module GEOS.

Disponibilité : 2.0.0

Modifié : 2.4.0 cette fonction utilise GEOSNode en interne au lieu de GEOSUnaryUnion. Cela peut entraîner un ordre et une direction différents des lignes résultantes par rapport à PostGIS < 2.4.

Exemples

"Noding" d'une LineString 3D qui s'auto-intersecte

SELECT ST_AsText(
        ST_Node('LINESTRINGZ(0 0 0, 10 10 10, 0 10 5, 10 0 3)'::geometry)
    ) As  output;
output
-----------
MULTILINESTRING Z ((0 0 0,5 5 4.5),(5 5 4.5,10 10 10,0 10 5,5 5 4.5),(5 5 4.5,10 0 3))
        

"Noding" de deux lignes qui partagent une structure linéaire commune. Notez que la ligne de résultat est dissoute.

SELECT ST_AsText(
        ST_Node('MULTILINESTRING ((2 5, 2 1, 7 1), (6 1, 4 1, 2 3, 2 5))'::geometry)
    ) As  output;
output
-----------
MULTILINESTRING((2 5,2 3),(2 3,2 1,4 1),(4 1,2 3),(4 1,6 1),(6 1,7 1))
        

Voir aussi

ST_UnaryUnion, ST_Union