我正在开发一个严格连接到db的简单Web服务:目标是找到靠近我的地方列表。
我的数据库包含一个场地列表:每个场地对象都包含一个唯一的ID,名称,经度和纬度。
到达网络服务的请求包括我的经度,纬度和以km为单位的半径。
我想获取位于我和半径之间的地点列表。
有一种简单的方法吗?
所以我的问题是:数据库中是否有一个特定的对象可以帮助我插入GPS坐标?
我应该使用什么类型的查询? (SELECT * FROM venuesList WHERE ???)
答案 0 :(得分:0)
这取决于您拥有的数据库。在极限情况下,您可以找到一个方框,其中描述了半径附近的项目,但是在矩形框中。
SELECT * FROM venuesList WHERE xPos >= clientPosX - radius AND
xPos <= clientPosX + radius AND
yPos >= clientPosY - radius AND
yPos <= clientPosY + radius;
但是,r-tree索引会为您提供最近的成员&#34;或者&#34;在半径范围内&#34;结果
我认为sqlite和postgress支持r-trees