On Thu, May 15, 2008 at 5:34 AM, User Map <map.user@yahoo.com> wrote:
> hi,
> i have OSGB36 data in postgre, srid 27700. what i want to do is to calculate
> the extent on basis of the distance from a given point. i have geom of type
> geometry in the table, from which to calculate extent. i have tried the
> funtions Distance(geom,geom)<50, but it is too slow, as it uses no index. i
> have calculated the point from the polygon by function Centroid(geom), but i
> think its not working properly, as i am also testing it with the mapserver
> map and map saclebar, they are not matching exactly.
> the main isuue is of the time the distance query is taking.
> is there any why to do this quickly.
The usual method is to use a simple bounding box which can be indexed
to reduce the number of comparisons you need to make with the distance
function. I.e. if you've got a radius of 50 to searc withing, set up
a square 100 on a side centered on one of the points, and that with
the distance(x,y) and you should be able to get good performance.