我还在学习后遗症,需要帮助。我有两张桌子,城市和景点。我想在离给定城市X英里的范围内归还所有的景点。这些是我自己的桌子,所以我可以用任何最好的方式来设置它们。现在,我的景点有一个geom点列,其中有一个名为lat/lng的srid 4326。我的城市表有一个地理包围框(多边形)列,它覆盖了城市边界。我用ST_MakeEnvelope填写了那一栏,也是4326。
我看过ST_Expand和ST_DWithin,但我似乎不知道如何搜索景点表,展开盒子,并返回英里数。
任何指导都非常感谢!
发布于 2017-08-26 23:05:32
我想在离给定城市X英里的范围内归还所有景点。
用ST_DWithin
很容易
SELECT *
FROM attractions AS a
JOIN cities AS c
WHERE ST_DWithin(c.geom::geography, a.geom::geography, X*1604);
https://stackoverflow.com/questions/45900143
复制相似问题