0

我想计算两个地理点之间的距离,一个点存储在我的本地数据库中,另一个点是我当前的位置。我怎样才能得到它。

我想开火

SELECT *, 3956 * 2 * ASIN ( SQRT ( POWER ( SIN((@orig_lat - abs(dest.lat)) * pi()/180   / 2), 2) +  COS(@orig_lat * pi()/180 )
* COS(abs(dest.lat) * pi()/180) *  POWER(SIN((@orig_lon – dest.lon) * pi()/180 / 2), 2) 
)) as  distance FROM hotels dest having distance < @dist ORDER BY distance limit 10;

这个查询在 sqlite 中,但是当我在 sqlite 和 stackoveflow 上读到 Sqlite 不支持数学函数时。

所以有人知道如何在 sqlite 中使用C libraryand为这个查询创建用户定义函数android NDK吗?或者有其他方法可以找到它?

4

1 回答 1

2

SpatiaLite功能是多余的,但肯定可以满足您的需求。

SpatiaLite 是一个开源库,旨在扩展 SQLite 核心以支持成熟的 Spatial SQL 功能。

有一个安卓版本

于 2013-04-30T21:22:42.563 回答