ST_Node — 节点线集合。
geometry ST_Node(
geometry geom)
;
返回一个(多)线串,表示线串集合的完全节点版本。节点保留所有输入节点,并引入尽可能少的新节点。结果线形被合并(删除重复线)。
这是创建完全节点线形的好方法,适合用作 ST_Polygonize 的输入。
ST_UnaryUnion 也可以用于节点和合并线形。它提供了一个指定 gridSize 的选项,可以提供更简单、更健壮的输出。另请参阅 ST_Union 以获取聚合变量。
此函数支持 3d,不会丢弃 z 索引。
由 GEOS 模块执行。
可用性:2.0.0
已更改:2.4.0 此函数在内部使用 GEOSNode 而非 GEOSUnaryUnion。这可能导致结果线串与 PostGIS < 2.4 相比具有不同的顺序和方向。
对自相交的 3D 线串进行节点处理
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))
对共享公共线形的两个线串进行节点处理。请注意,结果线形已合并。
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))