如何在AppEngine中存储和搜索GeoData?

Ond*_*dra 7 google-app-engine gql geolocation

在我的应用程序中,我想存储地理数据(经度和纬度).然后我想问"这个地区在哪个地方".不能使用类似SQL的查询,因为GQL 链接文本中的 "仅在一个属性上允许不等的过滤器"

您是否了解另一种解决方案如何在AppEngine数据库中存储这些数据并使用GQL请求它们?

npd*_*oty 7

我已经成功使用geomodel开源项目来存储和查询App Engine数据存储区中的lat/lon数据.它使用geohash来启用对单个属性的查询,它可用于Python和Java,并且因为它是开源的,所以如果需要,您可以修改代码以适合您的特定情况.

值得注意的是,几周前谷歌I/O宣布数据存储有一天(希望很快)会在内部使用希尔伯特曲线为地理空间和日期查询提供原生支持.这将允许快速查询边界框甚至在任意多边形查询中.您可以在线观看该视频的视频以获取更多详细信息,这是一个非常有趣的讨论.