如何找到有GPS坐标,GPS坐标和半径的地方?

时间:2015-09-19 06:48:43

标签: java database web-services google-maps gps

我正在开发一个严格连接到db的简单Web服务:目标是找到靠近我的地方列表。

我的数据库包含一个场地列表:每个场地对象都包含一个唯一的ID,名称,经度和纬度。

到达网络服务的请求包括我的经度,纬度和以km为单位的半径。

我想获取位于我和半径之间的地点列表。

有一种简单的方法吗?

所以我的问题是:数据库中是否有一个特定的对象可以帮助我插入GPS坐标?

我应该使用什么类型的查询? (SELECT * FROM venuesList WHERE ???)

1 个答案:

答案 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