Ticket #1775 (closed defect: fixed)

Opened 13 months ago

Last modified 13 months ago

False negative motion collision detection in ST_ChangeEdgeGeom

Reported by: strk Owned by: strk
Priority: high Milestone: PostGIS 2.0.1
Component: topology Version: 2.0.x
Keywords: Cc:

Description

While playing with topology edge simplification I encountered a case in which ST_ChangeEdgeGeom allows to change an edge geometry from A to B but doesn't allow it to move back from B to A.

Looking at the movement visually I can see that the movement should never be allowed.

Attachments

collision.png Download (4.9 KB) - added by strk 13 months ago.

Change History

Changed 13 months ago by strk

Changed 13 months ago by strk

from orange to green is allowed, from green to orange it is not: ERROR: Edge motion collision at POINT(699288 6901218)

The collision point is correctly reported as the island you see near the bottom.

Changed 13 months ago by strk

I confirm that the result of the bogus allowance is an invalid topology (wrong face linking).

Changed 13 months ago by strk

  • summary changed from Asymmetric undetected edge motion collision to False negative motion collision detection in ST_ChangeEdgeGeom

Changed 13 months ago by strk

Found the culprit: ST_SymDifference(EMPTY, POLY) returns EMPTY -- filed #1776 for this. Once that one is fixed this one should also be. We'll want a testcase for this anyway.

Changed 13 months ago by strk

  • status changed from new to closed
  • resolution set to fixed

r9641 fixes ST_SymDifference and r9642 regress-tests this specific use case.

Note: See TracTickets for help on using tickets.