【问题标题】:How to store and search GeoData in AppEngine?如何在 AppEngine 中存储和搜索 GeoData?
【发布时间】:2011-02-27 12:51:37
【问题描述】:

在我的应用程序中,我想存储地理数据(经度和纬度)。然后我想问“这个地区是哪个地方”。不能使用类似 SQL 的查询,因为 GQL link text中的“不等式过滤器只允许在一个属性上”

您知道如何将这些数据存储在 AppEngine 数据库中并使用 GQL 请求它们的另一种解决方案吗?

【问题讨论】:

    标签: google-app-engine geolocation gql


    【解决方案1】:

    您可以使用Geohash 将纬度和经度编码为单个字符串,然后只需使用升序和降序属性索引来定位最近的匹配项。

    【讨论】:

      【解决方案2】:

      我已成功使用 geomodel 开源项目在 App Engine 数据存储区中存储和查询纬度/经度数据。它使用geohash 来启用对单个属性的查询,它适用于 Python 和 Java,并且由于它是开源的,因此您可以根据需要修改代码以适应您的特定情况。

      还值得注意的是,几周前在 Google I/O 上宣布,数据存储区有一天(希望很快)将在内部使用希尔伯特曲线为地理空间和日期查询提供本地支持。这将允许快速查询边界框甚至是任意多边形查询。您可以在线观看该演讲的the video 以了解更多详细信息,这是一个非常有趣的讨论。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-10-23
        • 1970-01-01
        • 1970-01-01
        • 2015-04-16
        • 2010-10-02
        • 2012-10-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多