[postgis-users] How to Fix "Operation on two geometries with different SRIDs"?

Bill Thoen bthoen at gisnet.com
Mon Aug 10 09:25:53 PDT 2009


I've got a table in PostGIS that's in 4326 srs and I'm trying to overlay 
it on a map in 2163 srs via MapServer and I'm getting the following error:
msPOSTGISLayerWhichShapes(): Query error. Erro-ERROR:  Operation on two 
geometries with different SRIDs

The DATA parameter I used is this:
DATA "geom FROM ( SELECT gid, geom, class, feature1 FROM federal_land) 
AS fedlands USING UNIQUE gid USING srid=2163"

The federal_lands table is actually in srs 4326, and my hopes that by 
telling MapServer to use srid 2163 that it would magically transform it 
on the fly were dashed repeatedly.

I can see by the cursor it made what the problem is, but I don't know 
how to fix it. Here's the cursor:

With query string: DECLARE mycursor BINARY CURSOR FOR SELECT 
"CLASS"::text,"feature1"::text,asbinary(force_collection(force_2d(SELECT 
geom)),'NDR'),gid::text from (SELECT * FROM federal_lands) AS 
qryFedLands WHERE SELECT geom && setSRID('BOX3D(-110.575644114681 
23.5760812552219,-97.204100994059 35.152897732775)'::BOX3D, 
find_srid('','federal_lands','SELECT geom') )

Since I can't get at the cursor directly, can anyone tell me how to 
write the MapServer DATA statement so that either geom is transformed on 
the fly to srs 4326 for this box intersect comparison, or the box used 
to select federal_lands is transformed to 2163?

Thanks,
- Bill Thoen






More information about the postgis-users mailing list