Opened 13 years ago

Closed 13 years ago

#458 closed defect (invalid)

Polygonizer robustness failure

Reported by: strk Owned by: geos-devel@…
Priority: major Milestone: 3.3.1
Component: Default Version: 3.3.0
Severity: Unassigned Keywords:
Cc:

Description (last modified by strk)

A simple multiline containing 3 linestrings of 2,5 and 6 vertices, all sharing the same endpoints (2 nodes in total in the topology) fail to be polygonized in floating precision, while successfully polygonize as 2 rings with a precision of 1e-11.

See http://trac.osgeo.org/postgis/ticket/1115 for original report.

In the geometry with 5 vertices, distance between first and second vertex and between forth and fifth vertex is 2.3283064365387e-10.

The polygonizer returns _no_ rings. Dropping one of the close-by vertices (not on the topology node) makes the polygonizer return _1_ ring. Dropping both makes it succeed in returning _2_ rings as it should.

Simplified MULTILINESTRING input follows:

 010500000003000000010200000002000000555C8F42354A3A41A4703D6A1E445241CCCCCC0C474A3A415C8FC2851E445241010200000005000000555C8F42354A3A41A4703D6A1E445241545C8F42354A3A41A4703D6A1E445241409B06043D4A3A415860C1CC1C445241CDCCCC0C474A3A415C8FC2851E445241CCCCCC0C474A3A415C8FC2851E445241010200000006000000CCCCCC0C474A3A415C8FC2851E445241C4F5289C4B4A3A415C8FC2C52B445241B533D71C964A3A418EAD7CBD1A4452412085EB91284A3A417A14AE2719445241285C8F42354A3A41A4703D6A1E445241555C8F42354A3A41A4703D6A1E445241

Change History (3)

comment:1 by strk, 13 years ago

Summary: Polygonizer failurePolygonizer robustness failure

comment:2 by strk, 13 years ago

Description: modified (diff)

comment:3 by strk, 13 years ago

Resolution: invalid
Status: newclosed

It seems that the input is still not properly noded. In particular there's a linear intersection between the line with 5 vertices and the one with 6. Passing the geometry under unaryunion turn it to a 4 lines geometry, and that one successfully polygonizes.

Note: See TracTickets for help on using tickets.