SQLite:查询纬度/经度增量

Posted

技术标签:

【中文标题】SQLite:查询纬度/经度增量【英文标题】:SQLite: Query for Latitude/Longitude Delta 【发布时间】:2011-09-21 19:33:57 【问题描述】:

我有一个 SQLite 表,其中包含 LatitudeLongitude 字段(负数和 pos 数)

我有一个 latitude *delta* 和一个 longitude *delta*(例如 '23 ') 基于纬度 50 和经度 75(再次举例)

当表中同时存在正负纬度值和经度值时,如何在表中查询所有记录的列表,这些记录是 + 或 - 23 纬度和 + 或 - 23 经度。

纬度/经度字段的类型为 NUMERIC,并以 ASC 为索引。

select [fields] 
   from [table] 
      where latitude of 50 -+23 and
            longitude of 75 -+23 

【问题讨论】:

【参考方案1】:
    首先查找增量并声明值 根据增量和每条记录的起始值计算 +/- 值 使用"BETWEEN operator" 获取结果(向下滚动该链接以查找信息)

如果您在您和数据库之间使用 ORM,或者在 DB 之上使用编程语言,您可能能够即时执行第 1 步和第 2 步,从而在第 3 步中只执行一个 DB 查询。

【讨论】:

以上是关于SQLite:查询纬度/经度增量的主要内容,如果未能解决你的问题,请参考以下文章

在地图上保存纬度和经度点击到 SQLite 数据库不起作用

如何从sqlite中的多个表中选择特定列?

sql 使用最近的纬度和经度坐标(MySQL和SQLite)进行SQL排序

Android SQLite 查询我的位置与给定距离值之间的距离的行

SQlite 获取最近的位置(经纬度)

SQlite 获取最近的位置(经纬度)