<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    To be sure, we understand each others, here is the few lines of SQL
    I am using:<br>
    <meta http-equiv="content-type" content="text/html;
      charset=ISO-8859-1">
    <a
href="https://github.com/3nids/qWat/blob/7bc65b5a43ffb9ae5947ede683ff1f2274807972/sql/topology.sql">https://github.com/3nids/qWat/blob/7bc65b5a43ffb9ae5947ede683ff1f2274807972/sql/topology.sql</a><br>
    <br>
    I know I have errors in topology in my pipes. So, is this correct
    than I can use toTopoGeom for geometries that have incorrect
    topology?<br>
    Or should I check them first?<br>
    <br>
    Here is the result of validate topology when a part of my pipes is
    in the topology column:<br>
    SELECT topology.ValidateTopology('distrib_topo');<br>
         validatetopology      <br>
    ---------------------------<br>
     ("face without edges",0,)<br>
    (1 row)<br>
    <br>
    <br>
    I can dump the db, this will be a few megas, but I would like to be
    sure I am not doing anything stupid, first....<br>
    <br>
    <br>
    <br>
    <br>
    On 02/24/2012 12:35 PM, Sandro Santilli wrote:
    <blockquote cite="mid:20120224113515.GB7722@gnash" type="cite">
      <pre wrap="">On Fri, Feb 24, 2012 at 12:03:10PM +0100, Denis Rouzaud wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">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
</pre>
      </blockquote>
      <pre wrap="">
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.

</pre>
      <blockquote type="cite">
        <pre wrap="">I would like to list all the errors by raising the ids, what is the
exception to catch?
</pre>
      </blockquote>
      <pre wrap="">
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 |    <a class="moz-txt-link-freetext" href="http://strk.keybit.net">http://strk.keybit.net</a> - <a class="moz-txt-link-freetext" href="http://vizzuality.com">http://vizzuality.com</a>
  `-o------'

_______________________________________________
postgis-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:postgis-users@postgis.refractions.net">postgis-users@postgis.refractions.net</a>
<a class="moz-txt-link-freetext" href="http://postgis.refractions.net/mailman/listinfo/postgis-users">http://postgis.refractions.net/mailman/listinfo/postgis-users</a>
</pre>
    </blockquote>
  </body>
</html>