[postgis-devel] [PostGIS] #972: ST_AddIsoEdge - give an error if containing_face is zero
PostGIS
trac at osgeo.org
Sat May 21 15:11:58 PDT 2011
#972: ST_AddIsoEdge - give an error if containing_face is zero
-----------------------+----------------------------------------------------
Reporter: aperi2007 | Owner: strk
Type: defect | Status: new
Priority: medium | Milestone: PostGIS 2.0.0
Component: topology | Version: trunk
Keywords: |
-----------------------+----------------------------------------------------
Comment(by aperi2007):
I see the code of ST_AddIsoEdge.
I guess the error is due to the ST_GetFaceGeometry as report in the ticket
#973.
The error is in this piece of code:
{{{
FOR rec IN EXECUTE 'SELECT topology.ST_GetFaceGeometry('
|| quote_literal(atopology) ||
',' || aface || ') as face'
LOOP
face := rec.face;
END LOOP;
--
-- Check acurve to be within face
--
**HERE** --> IF ! ST_Within(acurve, face) THEN
RAISE EXCEPTION
'SQL/MM Spatial exception - geometry not within face.';
END IF;
}}}
Because the ST_GetFaceGeometry return a record with a NULL geometry when
the FACE is the UniverseFace (idface=0)
the ST_Within(acurve, face) give an error.
--
Ticket URL: <http://trac.osgeo.org/postgis/ticket/972#comment:1>
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