[postgis-users] Topology: cannot delete slivers (or gaps)

Guillaume Drolet droletguillaume at gmail.com
Wed Nov 5 15:37:32 PST 2014


Using your help, I filled most holes but three I couldn't fill using the
"UPDATE ... SET topogeom ..." approach. Will explore other approaches later.

Re the presence of holes, I may have deleted faces when running my function
for removing extra nodes. This needs checking.

Advancing in my work, I also got to drop edge 6341 and I end up with this:


So the next step is to split edge 6340 about its middle, with the goal of
then connecting the newly created node with node 4753, thus creating an edge
where there should be one (i.e. on the light grey line). 

However, I get the error: *point not on edge* when running ST_ModEdgeSplit.
First, I tried to find the new node location using the coordinate capture
tool in QGIS but because I got that error I thought maybe I really need to
find a point that's on the edge so I used this approach:

/WITH edge AS (SELECT geom line
              FROM de_20k_topo.edge_data
              WHERE edge_id = 6340
), point AS (SELECT e.line, ST_ClosestPoint(e.line, 
	            ST_GeomFromText('POINT(-208737.346 811681.163)', 32198)) point
	     FROM edge e
SELECT ST_ModEdgeSplit('de_20k_topo', 6340, point)
FROM point;


I still get the same error: point not on node.

How is one supposed to find a point that IS on an edge?

View this message in context: http://postgis.17.x6.nabble.com/Topology-cannot-delete-slivers-or-gaps-tp5007250p5007281.html
Sent from the PostGIS - User mailing list archive at Nabble.com.

More information about the postgis-users mailing list