如何根据纬度和经度距离从Sqlite数据库中检索行?

时间:2013-11-11 09:47:54

标签: android location android-sqlite latitude-longitude

我在Android中创建了一个SqliteDatabase,它有两列(以及其他列),包含纬度和经度信息。我必须在我周围的500米圆圈内找到行,现在我有当前的纬度和经度信息,如何比较和检索它们?

感谢

2 个答案:

答案 0 :(得分:1)

  

如何比较和检索它们?

我想有更多可能的方法。你可以用精心设计的WHERE条款做到这一点,但我认为性能不会很好。

所以我建议您将所有行都提取到Cursor。然后循环通过Cursor并将每行的纬度和经度与当前位置进行比较。在所需距离的行保存到某个辅助结构中,例如保存到动态数组(例如List)。

要计算两点之间的距离,您可以使用Euclidean distance。要将度数转换为十进制,请查看this article

希望它可以帮助你,让事情更清楚。

答案 1 :(得分:0)

你可能不得不使用Haversine公式计算出自己与每个点之间的距离

See here