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 , 13 years ago
Component: | postgis → topology |
---|---|
Owner: | changed from | to
Version: | 1.5.X → trunk |
comment:2 by , 13 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
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.