[postgis-devel] [PostGIS] #1188: Implement topology.ST_RemEdgeNewFace

PostGIS trac at osgeo.org
Mon Sep 19 09:10:24 PDT 2011


#1188: Implement topology.ST_RemEdgeNewFace
-----------------------+----------------------------------------------------
  Reporter:  strk      |       Owner:  strk@…         
      Type:  task      |      Status:  reopened       
  Priority:  medium    |   Milestone:  PostGIS 2.0.0  
 Component:  topology  |     Version:  trunk          
Resolution:            |    Keywords:                 
-----------------------+----------------------------------------------------

Comment(by strk):

 Not giving a sign to face 0 might not be a big problem, on a closer look.
 The thing is that we can divide the possible outcome of this function into
 3 cases:

 1) The removed edge is dangling or isolated.
    No face is removed and no face is added.
 2) The removed edge partecipates in a single ring (universe face on the
 other side).
    Only one face is removed, no face is added.
 3) The removed edge splits two faces.
    Both faces are removed, a new face is added.

 By using -#, 0, +# we could express all of the cases and still return "the
 id of the face taking up the space previously occupied by the removed
 edge".

 A return > 0 would tell us that a face was created (with the returned id).
 A return = 0 would tell us that a face was removed
 A return < 0 would tell us that two faces were removed

 To know _which_ faces were removed you'd have to look at left_face and
 right_face values of the edge _before_ calling the RemEdgeNewFace
 function.

-- 
Ticket URL: <http://trac.osgeo.org/postgis/ticket/1188#comment:8>
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