On Fri, Feb 24, 2012 at 12:03:10PM +0100, Denis Rouzaud wrote: > Okay, > > So I am looping over my 25000 pipes and soon as there is a topology > error, the > UPDATE distribution.pipes SET topogeom = toTopoGeom(wkb_geometry, > ''distrib_topo'', layer) WHERE id = pi.id; > throws an error: > ERROR: SQL/MM Spatial exception - point not on edge
Excellent. So a _single_ geometry is enough to reproduce the error. Save both the new geometry (WHERE id = pi.id) and the topology status (dump the schema). If you can, attach the dump and the new input into a ticket. May be worth checking the topology built so far for correctness with ValidateTopology. Any invalidity would be a bug in PostGIS. But not all invalidities are cought by ValidateTopology so there may be a need to do more eyebased checking (linking isn't checked). Usually the invalidity, if any, is within the bounding box of the geometry that fails being installed. > I would like to list all the errors by raising the ids, what is the > exception to catch? A loop _outside_ the database wouldn't need to catch. If you're looping inside, with pl/pgsql, catch OTHERS. --strk; ,------o-. | __/ | Delivering high quality PostGIS 2.0 ! | / 2.0 | http://strk.keybit.net - http://vizzuality.com `-o------' _______________________________________________ postgis-users mailing list postgis-users@postgis.refractions.net http://postgis.refractions.net/mailman/listinfo/postgis-users