[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