【问题标题】:How do I retrieve rows from Sqlite Database according to the latitude and longitude distance?如何根据经纬度距离从 Sqlite 数据库中检索行?
【发布时间】:2013-11-11 09:47:53
【问题描述】:

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

谢谢

【问题讨论】:

    标签: android location android-sqlite latitude-longitude


    【解决方案1】:

    如何比较和检索它们?

    我想还有更多可能的方法。您可以使用精心设计的WHERE 子句来做到这一点,但我认为性能不会很好。

    所以我建议您将所有行提取到Cursor。然后遍历 Cursor 并将每一行的纬度和经度与您当前的位置进行比较。在所需距离内的行保存到一些辅助结构中,例如动态数组(例如列表)。

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

    希望它能帮助你,让事情变得更清楚。

    【讨论】:

      【解决方案2】:

      您可能必须使用 Haversine 公式来计算您到每个点的距离

      See here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-13
        • 1970-01-01
        • 1970-01-01
        • 2011-09-12
        • 1970-01-01
        相关资源
        最近更新 更多