Nói chung, hàm PostGIS tốt nhất cho truy vấn như vậy là ST_DWithin () :
ví dụ. tất cả khách hàng sống trong phạm vi 1000 mét kể từ cửa hàng số 1:
SELECT customers.*
FROM customers, shops
WHERE ST_DWithin(customers.the_geog, shops.the_geog, 1000)
AND shop.id = 1
ST_DWithin sẽ sử dụng chỉ mục không gian mà lẽ ra bạn phải tạo và do đó hoạt động tốt hơn ST_Distance.
Trong Django dường như có một bộ lọc tương ứng được gọi là dwithin :
D (m =5) trả về một đối tượng khoảng cách có chiều dài 5 mét
geom là hình học mà bạn muốn tính khoảng cách đến các đối tượng Zipcode
dwithin () là hàm được sử dụng
poly là thuộc tính hình học của các đối tượng Zipcode
z = Zipcode(code=77096, poly='POLYGON(( 10 10, 10 20, 20 20, 20 15, 10 10))')