[postgis-users] help needed with GEOS & other errors on postgis query
strk at refractions.net
strk at refractions.net
Tue Feb 22 00:50:51 PST 2005
There might be a memory leak in the length function.
What PostGIS version are you using ?
--strk;
On Mon, Feb 21, 2005 at 08:17:47PM -0800, Brent Wood wrote:
>
> I'm using (or trying to use) PostGIS to work with some Antarctic data.
>
> I have a table with toothfish vessel's set positions, stored as linestrings.
> The set data is lat/long, I loaded it with SRID=4326, then created another
> table with a "create table as select .... transform(the_geom, 20001) from....
> ;"
>
> I manually added a geometry_columns entry, a spatial index & a date index.
>
> A second table has all the sea ice density data from the NATICE centre (NOAA)
> as multipolygons.
>
> The NATICE data is using a custom polar projection (SRID = 20001 in my
> spatial_ref_sys table). The data were downloaded as e00 files, one per week
> since 1977, and were converted using a script via avcimport/ogr2ogr/shp2pgsql.
>
> All the shapefiles are loaded into a single table, with a date field as an
> identifier.
>
>
>
> I manually added a geometry_columns entry and created a spatial index & a date
> index.
>
> I can select & query the data fine, no issues with PostGIS. I can display both
> tables overlayed as I'd expect with QGIS.
>
>
> What I want to do is generate a list of sets, where each output record has the
> sea ice (ct) value for the sea ice polygons which cover the same week &
> location as the set, (and the set length)
>
>
> The query I'm trying to run is:
>
> psql $DB -c "select distinct id,
> haul_id,
> length(s.the_geom) as set_lgth,
> ct
> from $ICE i,
> $SET s
> where _date >= set_date - interval '3 days'
> and _date <= set_date + interval '3 days'
> and s.the_geom && i.the_geom
> and intersects(s.the_geom, i.the_geom);"
>
>
> The result is a GEOS error message:
>
> NOTICE: TopologyException: side location conflict (-12.4841,1.2337e+06)
> ERROR: GEOS overlaps() threw an error!
>
> I get the same result using intersects instead of overlaps.
>
> Trying the same query without the last line (no GEOS), it exits with a
> different error:
>
> ERROR: out of memory
> DETAIL: Failed on request of size 32.
>
> There are 4558 set records and 73225 sea ice polygons. The system is a Linux,
> dual Xeon 2400 with 2.5Gb memory. I'm not convinced there is a genuine memory
> shortage.
>
>
>
> Any suggestions on how I can try to resolve this?
>
>
> Thanks,
>
> 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