On Thu, May 15, 2008 at 5:34 AM, User Map <map.user@xxxxxxxxx> 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.