Opened 3 months ago
Closed 3 months ago
#5787 closed defect (fixed)
ST_ChangeEdgeGeom allows breaking side face labeling
Reported by: | strk | Owned by: | strk |
---|---|---|---|
Priority: | medium | Milestone: | PostGIS 3.3.8 |
Component: | topology | Version: | 3.2.x |
Keywords: | Cc: |
Description
Easy test:
SELECT NULL FROM DropTopology('tc'); SELECT NULL FROM CreateTopology('tc'); SELECT NULL FROM TopoGeo_addLinestring('tc', 'LINESTRING(0 0, 5 5, 10 0)'); SELECT NULL FROM TopoGeo_addLinestring('tc', 'LINESTRING(0 0, 10 0)'); SELECT * FROM ValidateTopology('tc'); SELECT NULL FROM ST_ChangeEdgeGeom('tc', 1, 'LINESTRING(0 0, 5 -5, 10 0)'); SELECT * FROM ValidateTopology('tc');
Change History (6)
comment:1 by , 3 months ago
comment:2 by , 3 months ago
Fix for this issue: https://git.osgeo.org/gitea/postgis/postgis/pulls/224
Unfortunately the fix doesn't help with #5786
Note:
See TracTickets
for help on using tickets.
This bug is the probable cause of #5786
The code checking for consistent topology only verifies that the next CW and CCW edges are the same as before the move, but this is still the case when you have only 2 edges incident to the endpoints, so I guess the missing check is that the rings formed on both sides of the edge being moved are still having the original winding (CW or CCW)