Opened 13 years ago

Closed 13 years ago

#975 closed defect (invalid)

ST_AddEdgeNewFaces - wrong assigned face to nodes

Reported by: aperi2007 Owned by: strk
Priority: medium Milestone: PostGIS 2.0.0
Component: topology Version: master
Keywords: Cc:

Description

Following the trace of ticket

http://trac.osgeo.org/postgis/ticket/972

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

  -- NOT IN THE SPECS...
  -- 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 containing_value. —

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

Change History (2)

comment:1 by aperi2007, 13 years ago

Component: postgistopology
Owner: changed from pramsey to strk
Version: 1.5.Xtrunk

comment:2 by aperi2007, 13 years ago

Resolution: invalid
Status: newclosed

I read better the ISO specs. The original action: setting NULL the containing_face of the nodes connected from an ST_AddEdgeNewFaces is corrected.

sorry for noise.

Note: See TracTickets for help on using tickets.