据我所知,SQLite没有数学函数来直接在SQL中正确实现Haversine公式.我认为这应该可以使用外部函数,实现在C中.
目标是在iPhone中安装SQLite数据库,并能够按距离排序到用户的当前位置.我已经搜索过了,但是我找不到这个例子.我认为困难的部分是让函数声明正确.我希望的最终结果是能够执行如下的SQL语句:
SELECT * FROM LOCATION loc ORDER BY distance(loc.lat, loc.long, ?, ?)
我有一个C Haversine公式.功能定义如下:
float distance( float nLat1, float nLon1, float nLat2, float nLon2 );
有谁知道这是否可行和/或有一些示例代码从哪里开始?