Ticket #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: | trunk |
| 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
Note: See
TracTickets for help on using
tickets.
