[postgis-tickets] [PostGIS] #4946: Speed up edge coverage checking in ValidateTopology
PostGIS
trac at osgeo.org
Fri Jul 9 06:44:14 PDT 2021
#4946: Speed up edge coverage checking in ValidateTopology
-------------------------+---------------------------
Reporter: strk | Owner: strk
Type: enhancement | Status: new
Priority: medium | Milestone: PostGIS 3.2.0
Component: topology | Version:
Keywords: |
-------------------------+---------------------------
The invalidities we're aiming to catch are those of holes advertised to be
in a different face than the one really containing them.
The current code runs an ST_Contains() against all faces in each edge's
bounding box and faces intersecting it. This is very expensive.
Instead, as the EdgeRings check is already building all rings, we could
1. Skip invalid rings
2. For remaining *hole* rings (CW rings) find the shell (CCW ring) with
smallest area containing them
3. Compare the containing shell face id with the advertised one
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/4946>
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