ST_Node — 將一系列線段節點化。
geometry ST_Node(
geometry geom)
;
傳回一個 (Multi)LineString,表示一系列線段完全節點化的版本。節點化會保留所有輸入節點,並引入最少的新節點。產生的線條會被溶解(移除重複的線段)。
這是建立完全節點化的線條,適合作為ST_Polygonize輸入的好方法。
ST_UnaryUnion 也可用於節點化和溶解線條。它提供了一個選項來指定 gridSize,這可以提供更簡單且更穩定的輸出。另請參閱ST_Union 以了解聚合變體。
此函數支援 3D,並且不會丟棄 z 索引。
由 GEOS 模組執行。
可用性:2.0.0
變更:2.4.0 此函數在內部使用 GEOSNode 而不是 GEOSUnaryUnion。這可能會導致產生的線段與 PostGIS < 2.4 相比,具有不同的順序和方向。
節點化一個自相交的 3D LineString
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))
節點化兩個共用共同線段的 LineString。請注意,結果線條會被溶解。
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))