[postgis-users] Buffer Question

Jeff Grice jgrice at predictioncompany.com
Wed Jul 27 05:27:49 PDT 2005


I am using PostgreSQL 8.0.3 on WindowsXP Professional and PostGIS
version 0.9.

I want to return a list of cities within a certain distance of a point. 

Note my city table is in srid=4269 which has units in degrees, so I must
transform it to srid=2163 to get to units in meters.

Select *
from city
where buffer(transform(GeomFromText('POINT(-98.20194
32.22056)',4269),2163), 100000) && 
transform(city.the_geom, 2163)

However when I run the buffer function I get 

ERROR: Operation on two GEOMETRIES with different SRIDs


I started dissecting the query and found the following:

Using SELECT transform(GeomFromText('POINT(-98.20194
32.22056)',4269),2163) I return:
	"SRID=2163;POINT(170540.337643801 -1435432.98097678)"

All is well; my srid = 2163 just as I would expect.

However, if I buffer the point with:
SELECT buffer(transform(GeomFromText('POINT(-98.20194
32.22056)',4269),2163), 10000)

My result returns srid = -1

How do I return a buffer result in srid=2163?

If I read the documentation correctly, the result should be in the same
spatial ref sys as the geometry passed in (in this case 2163).

Any help would be greatly appreciated.

Jeff