一般に、このようなクエリに最適なPostGIS関数は ST_DWithin()<です。 / a> :
例えば。ショップ#1から1000メートル以内に住むすべての顧客:
SELECT customers.*
FROM customers, shops
WHERE ST_DWithin(customers.the_geog, shops.the_geog, 1000)
AND shop.id = 1
ST_DWithinは空間インデックスを使用します 作成する必要があったため、ST_Distanceよりもパフォーマンスが優れています。
Djangoには、 dwithin :
D(m =5)は、長さ5メートルの距離オブジェクトを返します
geomは、郵便番号オブジェクトまでの距離を計算するジオメトリです
dwithin()は使用される関数です
polyはZipcodeオブジェクトのジオメトリ属性です
z = Zipcode(code=77096, poly='POLYGON(( 10 10, 10 20, 20 20, 20 15, 10 10))')