[postgis-devel] [PostGIS] #1116: Topology: ST_ModEdgeHeal return wrong id

PostGIS trac at osgeo.org
Sat Jul 9 07:47:45 PDT 2011


#1116: Topology: ST_ModEdgeHeal return wrong id
-----------------------+----------------------------------------------------
 Reporter:  aperi2007  |       Owner:  strk         
     Type:  defect     |      Status:  new          
 Priority:  medium     |   Milestone:  PostGIS 2.0.0
Component:  topology   |     Version:  trunk        
 Keywords:             |  
-----------------------+----------------------------------------------------
 Hi.
 try-ing to use the ST_ModEdgeHeal I notice the function return wrong
 idedge.

 More precisely it seem to do the correct work assigning also the correct
 value (idedge), but not always retrun that value.

 So I to some tests.
 This is the result:

 calling EdgeA (with value id1) the first edge and EdgeB (with value id2)
 the second edge, the function should merge the two edges and assign it the
 value of the first edge passed ("id1").

 There are 4 possible case:
 (the character > < show the direction of the edge)

 Case 1)

 *-(EdgeA)->--* *-(EdgeB)->--*

 The Function correctly produce a edge (EdgeC) like this:

 *-(EdgeC)-->-----* having id=id1.

 But the query
 select STModEdgeHeal(..);
 will return the value "id2" instead of "id1".

 Case 2)

 *-(EdgeA)-<--* *-(EdgeB)->--*

 The Function correctly produce a edge (EdgeC) like this:

 *-(EdgeC)-->-----* having id=id1.

 In this case the function ST_ModEdgeHeal will return the right value (id1)

 Case 3)

 *-(EdgeA)->--* *-(EdgeB)-<--*

 The Function correctly produce a edge (EdgeC) like this:

 *-(EdgeC)-->-----* having id=id1.

 But the query will return a value different from "id1"

 Case 4)

 *-(EdgeA)-<--* *-(EdgeB)-<--*

 The Function correctly produce a edge (EdgeC) like this:

 *-(EdgeC)--<-----* having id=id1.

 In this case the function ST_ModEdgeHeal will return the right value (id1)

 Regards,

-- 
Ticket URL: <http://trac.osgeo.org/postgis/ticket/1116>
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-devel mailing list