[postgis-tickets] [PostGIS] #3046: topology.GetRingEdges return wrong ring when edge.next_left/right = edge

PostGIS trac at osgeo.org
Thu Feb 19 10:26:29 PST 2015


#3046: topology.GetRingEdges return wrong ring when edge.next_left/right = edge
----------------------+-----------------------------------------------------
 Reporter:  remic     |       Owner:  strk 
     Type:  defect    |      Status:  new  
 Priority:  medium    |   Milestone:       
Component:  topology  |     Version:  2.1.x
 Keywords:            |  
----------------------+-----------------------------------------------------
 The problem is reproducible by creating a topology like the polar stars
 constellation
 (a square of 4 edges + a tail of on edge connected to the square).

 When using GetRingEdges(tail), we loop in the same order as when using
 GetRingEdges(-tail).
 We should have 2 different direction of looping (which is the case when
 using the function or normal edges)

 I don't understand recursive CTE enough to correct it myself

 Here is what the function returns :
 GetRingEdges(-574)
 -574
 574
 576
 575

 GetRingEdges(574)
 574
 576
 575
 -574

 The two correct ring should be  :
 (starting from 576 and -576)
  576
 575
 -574
 574

 -576
 -575

 Rémi-c

-- 
Ticket URL: <http://trac.osgeo.org/postgis/ticket/3046>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.


More information about the postgis-tickets mailing list