[postgis-users] ERROR: GEOS union() threw an error!

Ethan Alpert ealpert at digitalglobe.com
Tue Oct 12 11:08:58 PDT 2004



Why does the following throw an error?

Error Msg:

spatialdb=> select geomunion(the_geom) from snaps where
stripid='101001000351ED00';
NOTICE:  TopologyException: no outgoing dirEdge found (127.169,38.0556)
ERROR:  GEOS union() threw an error!


Here's the Geometries:

spatialdb=> select catfrag, stripid,AsText(the_geom) from snaps where
stripid='101001000351ED00';
-[ RECORD 1
]-----------------------------------------------------------------------
------------------------------------------------------------------------
---------------------------
catfrag | 101001000351ED013757480
stripid | 101001000351ED00
astext  | POLYGON((126.9405 38.2139166666667,127.171686111111
38.2092055555556,127.168805555556 38.0372638888889,126.941602777778
38.0439083333333,126.9405 38.2139166666667))
-[ RECORD 2
]-----------------------------------------------------------------------
------------------------------------------------------------------------
---------------------------
catfrag | 101001000351ED022377883
stripid | 101001000351ED00
astext  | POLYGON((126.941597222222 38.0758111111111,127.169166666667
38.0698111111111,127.16855 37.9064833333333,126.942888888889
37.9145527777778,126.941597222222 38.0758111111111))
-[ RECORD 3
]-----------------------------------------------------------------------
------------------------------------------------------------------------
---------------------------
catfrag | 101001000351ED023757478
stripid | 101001000351ED00
astext  | POLYGON((126.941597222222 38.0758111111111,127.169166666667
38.0698111111111,127.16855 37.9064833333333,126.942888888889
37.9145527777778,126.941597222222 38.0758111111111))


Here's where it get's odd:

spatialdb=> select geomunion(the_geom) from snaps where
catfrag='101001000351ED022377883' or catfrag='101001000351ED023757478'
or catfrag='101001000351ED013757480';
-[ RECORD 1
]-----------------------------------------------------------------------
------------------------------------------------------------------------
------------------------------------------------------------------------
-----------------------------------------------------
geomunion | SRID=4326;POLYGON((126.9405
38.2139166666667,127.171686111111 38.2092055555556,127.169113088743
38.0556206842087,127.16855 37.9064833333333,126.942888888889
37.9145527777778,126.941852819554 38.0439010209725,126.941602777778
38.0439083333333,126.9405 38.2139166666667))


Why does this work when I manually query on the tables index? Note two
of the geometries are the same. If I delete either the geomunion works.
The geometries are all SRID=4326

I'm running postgres 7.4.3 and postgis 0.8.2

Time for an upgrade? Very odd behavior...IMHO



More information about the postgis-users mailing list