[postgis-users] noding problem

Chris Hermansen chris.hermansen at timberline.ca
Fri Oct 19 10:16:36 PDT 2007


Hi folks;

I posted something a few days back on a noding problem I'm having, and
received no answer.  At this point I have more details and I think there
is something seriously wrong.

This is Postgis 1.3.1 and GEOS 3.0.0rc4.

The Postgis Wiki has an example of putting two somewhat overlapping
polygon networks together:

http://www.postgis.org/support/wiki/index.php?ExamplesOverlayTables

Basically, two tables of polygons are converted into linestrings and put
in a third table.

Then, the table of linestrings is noded; in the Wiki, the code given is:

CREATE TEMP TABLE noded_lines AS
   SELECT St_Union(the_geom) AS the_geom
   FROM all_lines;

Right, my problem!  I have two tables with multi-polygons.  I convert
them to polygons.  I use isValid() on their geometries to make sure that
they are in good shape.

Then!  I run the "noding query" - which I might add takes a
loooooooooooooooong time - and in the end I see:

dustin=# create temp table step2 as
dustin-# select st_union(geom) as geom from step1;
NOTICE:  TopologyException: found non-noded intersection between
1.40568e+06 507100, 1.40568e+06 507100 and 1.40568e+06 507100,
1.40568e+06 507100 1.40568e+06 507100
ERROR:  GEOS union() threw an error!

OK, now to me this doesn't seem at all fair!  If the st_union() command
is supposed to node the linework then WHY is complaining about non-noded
intersections?

Thanks in advance for any light you can shed on this!

-- 
Regards,

Chris Hermansen · mailto:clh at timberline.ca
tel:+1.604.714.2878 · fax:+1.604.733.0631
Timberline Natural Resource Group · http://www.timberline.ca
401 · 958 West 8th Avenue · Vancouver BC · Canada · V5Z 1E5

C'est ma façon de parler.




More information about the postgis-users mailing list