[postgis-users] Postgis errors
Paul Ramsey
pramsey at refractions.net
Thu Mar 10 16:10:13 PST 2005
Brent,
You have some quite old versions there. geos-2 has improved topology
handling, which is your problem area. Also remember to check isvalid()
on your geometries, just in case. Invalid geometries cause topology
problems.
You could upgrade to postgis 0.9 and geos-2 relatively easily, and
things might be better.
Paul
Brent Wood wrote:
> Can anyone offer some advice?
>
> The source data was downloded from a NOAA site, as topologically correct e00
> files. If an upgrade for PostGIS/GEOS is likely to help I'll try to get the IT
> staff to do this.
>
>
>
> I have a "layer" which is giving me problems when queried with PostGIS.
> The layer is derived from a table of MULTIPOLYGONS, each record being
> datestamped and having a density value (ct).
>
> I'm trying to derive the outer boundary for selected polygons at particular
> dates, for specified density ranges. The SQL (embedded in a script to loop
> through the required dates) is:
>
> CT2a=1
> CT2b=35
> psql $DB -t -A -c "select $CT2a as new_ct,
> transform(boundary(memgeomunion(simplify(the_geom,300))), 4326)
> from natice
> where _date = '$DATE'
> and ct >= $CT2a
> and ct <= $CT2b
> group by new_ct;" >> ${DATE}.txt
>
> I get occasional different errors, depending on whether & how much I simplify
> the source data & memgeomunion seems more robust than geomunion.
>
> with:
> transform(boundary(memgeomunion(the_geom)),4326)
>
> retrieving category 4 CT boundary (>41)
> (68 polygons to merge)
> NOTICE: TopologyException: side location conflict (-789350,2.03517e+06)
> ERROR: GEOS union() threw an error!
>
> but change the query to:
> transform(boundary(memgeomunion(simplify(the_geom,600))),4326)
> and it works perfectly.
>
> Another PostGIS error which is simplify dependent (changing simplify can
> prevent the error) is:
> retrieving category 3 CT boundary (30 - 40)
> (3 polygons to merge)
> NOTICE: TopologyException: no outgoing dirEdge found
> (-1.40494e+06,2.56829e+06)
> ERROR: GEOS union() threw an error!
>
>
> software versions installed:
>
> PostgreSQL 7.4.2,
>
> postgis_version
> ---------------------------------------
> 0.8 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
>
> and I think geos-1.0-2
>
>
>
> Any help appreciated.
>
> Brent Wood
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
More information about the postgis-users
mailing list