Did you convert your polygons to linestrings? If not, then you are
running the union operation on polygonal geometry. This is the usual
source of topology errors (which are caused by robustness & precision
issues in the underlying linework).
Chris Hermansen wrote:
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!
--
Martin Davis
Senior Technical Architect
Refractions Research, Inc.
(250) 383-3022
_______________________________________________
postgis-users mailing list
[email protected]
http://postgis.refractions.net/mailman/listinfo/postgis-users