[postgis-users] Buffer Question

Gustavo Henrique Sberze Ribas gribas at cpqd.com.br
Wed Jul 27 05:48:42 PDT 2005


 Use setSRID():

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


--
Gustavo
 
 
> 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
> _______________________________________________
> 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