postgis查询找到邻居

时间:2017-12-14 06:21:02

标签: python postgresql postgis

SELECT * 
FROM offer 
ORDER BY profile.location <-> "offer.profile.location"

我有2个表:一个是offer,另一个是profile。用户在个人资料中提供了offer,因此profile中的用户如何使用postgis postgresql查询查找最近的offer

1 个答案:

答案 0 :(得分:2)

有点像这样的事情。在这里,假设SRID是4326,位置必须在5000米之内,并且提供的结果按距离排序。

 SELECT offer.* FROM offer, profile
    WHERE ST_DWithin(offer.location, profile.location, 5000)
    ORDER BY ST_Distance(offer.location, profile.location);