[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