#1206 closed defect (fixed)
ST_Node
Reported by: | strk | Owned by: | strk |
---|---|---|---|
Priority: | medium | Milestone: | PostGIS 2.0.0 |
Component: | postgis | Version: | master |
Keywords: | history | Cc: |
Description (last modified by )
A function taking a collection of lineal geometries and performing noding on them. There's a known trick of doing this with ST_Union, but the result is often over-splitted so takes an additional ST_LineMerge to do.
Eventually, having a separate entry point will allow further optimizing or extending it.
Change History (8)
comment:1 by , 13 years ago
follow-up: 3 comment:2 by , 13 years ago
Input can be both, output will be multi (one component per edge)
comment:3 by , 13 years ago
Replying to strk:
Input can be both, output will be multi (one component per edge)
ok, I guess to node could be use the ST_Split() but it don't work with MultiLinestrings.
comment:4 by , 13 years ago
See http://sourceforge.net/mailarchive/forum.php?thread_name=4EAEC523.6090301%40telus.net&forum_name=jts-topo-suite-user about the ST_Union trick limitation (meaning: future releases of JTS/GEOS might change to support what we need).
comment:5 by , 13 years ago
Milestone: | PostGIS Future → PostGIS 2.0.0 |
---|---|
Owner: | changed from | to
Status: | new → assigned |
Summary: | ST_Node or ST_NodeLines → ST_Node |
I'm on it
comment:6 by , 13 years ago
Description: | modified (diff) |
---|
comment:7 by , 13 years ago
Keywords: | history added |
---|---|
Resolution: | → fixed |
Status: | assigned → closed |
Ok, this is implemented, regress-tested and documented as of r8094. Would be nice to add examples in the dox but the XML is too complex for me
Here's a nice example:
=> select st_asewkt(st_node('LINESTRING(0 0 0, 10 10 10, 0 10 5, 10 0 3)')); MULTILINESTRING((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))
Mind you: it requires GEOS-3.3.2dev due to http://trac.osgeo.org/geos/ticket/482
LineString or MultiLinestring ?