[postgis-devel] [PostGIS] #965: ST_AddIsoNode allows adding non-isolated nodes (nodes with containing_face=null)

PostGIS trac at osgeo.org
Mon May 23 02:37:15 PDT 2011


#965: ST_AddIsoNode allows adding non-isolated nodes (nodes with
containing_face=null)
----------------------+-----------------------------------------------------
 Reporter:  strk      |       Owner:  strk         
     Type:  defect    |      Status:  new          
 Priority:  medium    |   Milestone:  PostGIS 2.0.0
Component:  topology  |     Version:  trunk        
 Keywords:            |  
----------------------+-----------------------------------------------------

Comment(by aperi2007):

 Replying to [comment:4 strk]:
 > uhm.. finding the _actual_ face containing it is what Scarponcini
 suggested as a possible change for handling the 'null' case. I dont' see
 it being appropriate when the caller explictly sets containment within a
 face as getting that wrong from the client side might reveal a bug in the
 user process, so we do want to notify that.
 >

 I agree with you.
 So I prefer use the IDFace value = 0 instead of NULL value.
 Infact when the user send a parametr idface=0 the system MUST to find the
 correct face to understand if the UniverseFace e' correct or not.

 Instead if the user give an explicitly value (ie idface=7) and it is wrong
 the ST_AddIsoEdge should raise an exception.

 I should add this option only because the work to find the right face when
 the user use UniverseFace ad input parameter is needed to do to understand
 if it is in the Universeface.
 (my patch for ST_AddIsoNode work in this mode)

 > Generally speaking there are a few other places where the ISO mandates
 might be more comfortable, and this is also true for simple geometries. I
 belive in such cases we should eventually make our own versions as
 friendly as they can be and keep the standard names for standard
 behaviors.

 So you guess to raise an exception if the user say to use the IDFace=0 and
 the code see that relly the isolated node is contained in another face (ie
 idface=7) ?

 OK, I have no problem to agree with this.
 Even if this mean to add an isolated node always need to do the test 2
 times.
 The first time for find the face that containing the new node (the user
 want add)
 for this the user should use the GetFaceByPoint for example.
 The second time the test will be do in the ST_AddIsoNode to check if the
 face is the right face.

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