[postgis-devel] [PostGIS] #975: ST_AddEdgeNewFaces - wrong assigned face to nodes

PostGIS trac at osgeo.org
Sun May 22 03:42:04 PDT 2011

#975: ST_AddEdgeNewFaces - wrong assigned face to nodes
 Reporter:  aperi2007  |       Owner:  pramsey      
     Type:  defect     |      Status:  new          
 Priority:  medium     |   Milestone:  PostGIS 2.0.0
Component:  postgis    |     Version:  1.5.X        
 Keywords:             |  
 Following the trace of ticket


 I found the ST_AddEdgeNewFaces assign a wrong value to the
 nodes. Actually it do this code:

   -- set containing_face = null for start_node and end_node
   -- if they where isolated
   IF span.was_isolated OR epan.was_isolated THEN
       EXECUTE 'UPDATE ' || quote_ident(atopology)
         || '.node SET containing_face = null WHERE node_id IN ('
         || anode || ',' || anothernode || ')';
   END IF;


 Assigning a NULL value to isolated nodes.

 I guess accordig to ISO specs.
 It should not assign NULL if a node is isolated because an isolated node
 still can be into a face.

 Instead it should do this test:

 if adding this edge will born some new face or split other faces.
 It should be search for all nodes inside these faces and reassing the

 I guess no change to node should be do if don't born or split a face.

Ticket URL: <http://trac.osgeo.org/postgis/ticket/975>
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