使用Postgres和扩展名cube
和earthdistance
,我对半径范围为50英里的邮政编码78705进行以下查询:
WITH query1 AS(SELECT * FROM listings
WHERE earth_box(ll_to_earth(30.2961708, -97.73895429999999), 80467.2)
@> ll_to_earth(listings.lat, listings.lng)
,然后返回结果foo列表,这很棒。
如果我查询半径范围为50英里的邮政编码78232:
WITH query1 AS(SELECT * FROM listings
WHERE earth_box(ll_to_earth(29.59442259999999, -98.4568128), 80467.2)
@> ll_to_earth(listings.lat, listings.lng)
我得到了预期的结果,包括列表foo。
我的问题是...。如果在50英里半径范围内返回foo(邮政编码78705),而其他列表为78232,为什么不在50英里范围内包含邮政编码78232的所有列表?半径78705?