Re: calculating extent on basis of distance from a given point - Mailing list pgsql-general

From Scott Marlowe
Subject Re: calculating extent on basis of distance from a given point
Date
Msg-id dcc563d10805211228h5b5d5af2i70de5e363b7e8a40@mail.gmail.com
Whole thread Raw
In response to calculating extent on basis of distance from a given point  (User Map <map.user@yahoo.com>)
List pgsql-general
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.

pgsql-general by date:

Previous
From: "Scott Marlowe"
Date:
Subject: Re: migration problem
Next
From: Tom Lane
Date:
Subject: Re: Fwd: sql_type tinterval not supported by DBD::Pg