我有以下的表称为locations
有以下栏目:POSTGIS查询ST_DWithin对经/纬度值
latitude
longitude
现在我想查询中所有条目在给定纬度/长点的特定半径内。
SELECT * FROM locations
WHERE ST_DWithin(
ST_MakePoint(longitude, latitude),
ST_MakePoint(-0.63098, 51.18291),
100
);
上面的查询解释了我有哪些数据作为输入和我必须查询的数据。
有什么想法?
你是什么实际问题? - 如果他们是完全相同的点,则认为*在另一点内*。你可以玩阈值,但使用['ST_Distance'](https://postgis.net/docs/ST_Distance.html)会更直接恕我直言。 – pozs
问题是,上面的查询返回表中的所有条目,而不仅仅是从输入长/纬度坐标的'100m'半径内的条目。 'ST_Distance'只返回2个点之间的距离,我想实现的是从点 –
返回一个特定半径内的所有位置,这通常是一个WHERE ST_Distance(point_in_table,queried_point)查询
pozs