[postgis-users] Bounding Box Query
David Blasby
dblasby at refractions.net
Mon Mar 29 09:42:24 PST 2004
iheanyi Okeh wrote:
> SELECT str_num || ' ' || name as full_address,
>
>> > > distance(the_geom,'POINT(2227284.1963667543
>> > > 1435389.6730164126)'::geometry) as dist
>> > > FROM address
>> > > ORDER BY dist limit 1
This query calculates the distance from 'POINT(2227284.1963667543
1435389.6730164126)' to *every* geometry in your table. It then sorts
all these distances, and returns the first one.
SELECT str_num || ' ' || name as full_address,
distance(the_geom,'POINT(2227284.1963667543
1435389.6730164126)'::geometry) as dist
FROM address
WHERE the_Geom && expand('POINT(2227284.1963667543
1435389.6730164126)'::geometry, <max distance>) )
ORDER BY dist limit 1
If you know the largest distance you're interested in - you can use the
index. If your <max distance> is small-ish, this should work very quick.
Dont forget to put an index on your table and "vacuum analyse;" your
database.
dave
More information about the postgis-users
mailing list