[PostGIS] #5766: ValidateTopology(varchar toponame, geometry bbox) return error when sending with bbox, but not with out bbox
PostGIS
trac at osgeo.org
Fri Jul 26 07:10:46 PDT 2024
#5766: ValidateTopology(varchar toponame, geometry bbox) return error when sending
with bbox, but not with out bbox
--------------------------------+---------------------------
Reporter: Lars Aksel Opsahl | Owner: strk
Type: defect | Status: assigned
Priority: medium | Milestone: PostGIS 3.4.3
Component: topology | Version: 3.4.x
Resolution: | Keywords:
--------------------------------+---------------------------
Comment (by strk):
The passed bbox covers all primitive elements, query can be made more
generic with:
{{{
SELECT * FROM topology.ValidateTopology(
'gronn_2023_v9_nosimlify_004',
(select st_extent(geom) from gronn_2023_v9_nosimlify_004.edge)
);
}}}
Enabling debug shows that 15 faces are checked when bbox is NOT given
while 16 faces are checked when bbox IS given.
Checking the face table shows that there is indeed a bounding box recorded
for face0 which is really a validity error!
So we have a bug (the problem is NOT detected when no BBOX is given) and
an improvement opportunity (the message could be clearer?).
In any case the validity is resolved by setting the mbr field of face=0 to
null:
{{{
update gronn_2023_v9_nosimlify_004.face
set mbr = null
where face_id = 0;
}}}
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/5766#comment:6>
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-tickets
mailing list