[geos-devel] Re: [GEOS] #527: Union and UnaryUnion both fail at
correctly node input lines
GEOS
geos-trac at osgeo.org
Mon Apr 2 08:32:15 EDT 2012
#527: Union and UnaryUnion both fail at correctly node input lines
------------------------+---------------------------------------------------
Reporter: strk | Owner: geos-devel@…
Type: defect | Status: new
Priority: major | Milestone: 3.3.4
Component: Default | Version: 3.3.3
Severity: Unassigned | Keywords:
------------------------+---------------------------------------------------
Comment(by strk):
A second attempt at checking for correct noding: compute intersection
matrix between each pair of lines. Expected outcome: interior/interior
intersection is always false in a correctly noded arrangement.
This confirms UnaryUnion isn't correctly noding:
{{{
with noded as (
select ST_UnaryUnion(
'LINESTRING(1725063 4819121,1725104 4819067,1725060
4819087,1725064.14183882 4819094.70208557,1725064.13656044
4819094.70235069,1725064.14210359 4819094.70227252,1725064.14210362
4819094.70227252,1725064.13656043 4819094.70235069,1725055 4819094,1725055
4819094,1725055 4819094,1725063 4819121)'
) as g ),
dumped as ( select (st_dump(g)).* from noded ),
matrices as ( select a.path as ap, b.path as bp, st_relate(a.geom, b.geom,
2) as im
from dumped a, dumped b where a.path < b.path)
select ap, bp, im from matrices where ST_RelateMatch(im, 'T********');
ap | bp | im
-----+-----+-----------
{1} | {2} | 0F1F00102
{2} | {5} | 1F1F00102
(2 rows)
}}}
So first and second line have puntual interior/interior intersection,
while second and fifth line have lineal interior/interior intersection.
Shouldn't happen, right ?
--
Ticket URL: <http://trac.osgeo.org/geos/ticket/527#comment:3>
GEOS <http://geos.refractions.net/>
GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS).
More information about the geos-devel
mailing list