【问题标题】:The best way to connect users in closed proximity ? (latitude, longitude)近距离连接用户的最佳方式? (纬度、经度)
【发布时间】:2011-06-12 01:16:16
【问题描述】:

我创建了一个 android 应用程序,它可以近距离连接跑步者。我使用了 Tornado ServerWeb (Python) 和 No-SQL 数据库。

我的解决方案:

将用户的所有 {lon,lat}(定期更新)存储在 DataLocation 中。

当用户想要查看他周围的用户时,它会向我的服务器调用特定的函数,该函数会从他当前的位置创建一个边界框。下一步是返回我的 DataLocation 在他的边界框中的用户。

这是个好方法吗?有什么建议吗? GeoJSON 对我有用吗?我如何在 Python 中做到这一点?

【问题讨论】:

    标签: python android geolocation bounding-box geojson


    【解决方案1】:

    如果您没有图书馆并想自己做,您可以使用Great Circle Distance 计算距离。公式不是太复杂。要找到一定半径内的一组点,您需要在数据库中查询距离(按大圆距离计算)小于您的半径的点。

    此外,如果您想获得更好的速度,您将需要缓存中间计算,例如在另一列中缓存正弦和余弦,因为这会加快速度,特别是如果您想在数据库中进行查询水平。

    【讨论】:

    • 计算我当前位置与所有用户位置的距离是不是一个好办法?
    • 我可以在我的边界框中使用从 DataLocation 返回用户的库吗?
    猜你喜欢
    • 2023-03-06
    • 2015-10-19
    • 2016-08-29
    • 1970-01-01
    • 1970-01-01
    • 2012-12-29
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    相关资源
    最近更新 更多