[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