[postgis-users] Intersects() and large datasets: error?

Romi Hardiyanto rodin at ewesewes.net
Wed Sep 22 09:15:48 PDT 2004


Perhaps some of your geometries is not valid. How about running isvalid 
first:

SELECT col1,col2 FROM table1 where isvalid(pgpoly) <> true;

I think, you should fix those geometries (if any) before running any 
geos-related function (I am using JTS to fix them).

Romi H

Hubert Fröhlich wrote:
> Hi list,
> 
> I am working with PostgreSQL 7.4.1, Postgis 0.8.2 and GEOS 1.0.0 .
> 
> I have a table with some columns and a geometry column for MULTIPOLYGONs
> 
> I try to test the scenario "give me the geometry containing a point with 
> given coordinates (borders included)" with some SQL statement like
> 
> select col1, col2  from table1 where pgpoly && 
> geometryfromtext('POINT(4427268.73 5477865.96))', 31494) and 
> intersects(geometryfromtext('POINT(4427268.73 5477865.96))', 31494), 
> pgpoly);
> 
> When the table is filled with a sub-dataset (ca. 80 000 multipolygons) 
> of my final data, everything works fine.
> 
> When I use my dataset (ca. 10 mill. multipolygons) , I get errors like
> 
> NOTICE:  TopologyException: side location conflict 
> (4.42661e+06,5.47702e+06)
> ERROR:  GEOS intersects() threw an error!
> 
> The box overlap alone
> 
> select col1, col2  from table1 where pgpoly && 
> geometryfromtext('POINT(4427268.73 5477865.96))', 31494)
> 
> works properly.
> What has gone wrong?
> 
> Regards,
> Hubert
> 




More information about the postgis-users mailing list