从数据库中获取某些位置点

时间:2016-03-14 19:18:20

标签: android algorithm sqlite geolocation location

我正在创建一个需要查找设备给定半径范围内所有点的Android应用程序。然而,这些位置将存储在SQL(在服务器上)或SQLite(用于早期测试/演示)的数据库中,我不想做的是获取所有位置并在设备上过滤掉,因为可能有数千个点。 这些位置存储为纬度和经度的两个单独的字段,我怎样才能从数据库中获得位于特定半径范围内的点?

1 个答案:

答案 0 :(得分:0)

在圆圈周围使用一个概念性边界框,其大小足以包含圆圈上的所有点。

例如,一个可能适合您的简单框:

假设圆圈的中心为100,100,带有radus 5,则可以下载框内的所有点(95,95)(105,105)

然后在客户端上,您可以进行必要的计算以确定您圈子中的哪个点子集