【问题标题】:PHP DataStore geo queryPHP DataStore 地理查询
【发布时间】:2015-05-11 03:48:50
【问题描述】:

我正在使用 PHP-GDS 库来访问 AppEngine DataStore,但这似乎不支持地理位置查询。我目前将纬度和经度存储在单独的列中。

2015 年推荐的方式是什么(2010 年有很多建议)用地理查询查询 DataStore?

示例用例: - 从 {Lat, Long} 返回最近的 10 行,按距离排序。

【问题讨论】:

  • 在 Python per cloud.google.com/appengine/docs/python/search 和 Java per(相同但使用 java 而不是 python)和 Go per(相同但使用 go 代替)中,推荐的解决方案是 Search API。然而,根据stackoverflow.com/questions/26005906/…,PHP 似乎不存在(目前);推荐的解决方案是用三种支持搜索的语言之一编写一个模块(您的应用程序的其余部分保留在 PHP 中)并仅将该模块用于搜索 API 访问。
  • 谢谢 - 我也可以 1. 使用 PHP 将 lat 和 lon 存储在数据存储中 2. 编写一个可以通过 url 访问的模块,例如/search?lat=1.2&long=1.3 3. 以 JSON 格式返回结果 4. 解析 JSON 并呈现给用户?
  • 为清晰起见重新措辞。
  • @XCodeWarrier,几乎——搜索 API 的工作方式有点不同——不是直接在数据存储上!我推荐我上面给出的 URL,以了解例如 Python 模块需要做什么来准备文档以从数据存储实体进行搜索。 JSON 来回当然没问题。
  • Datastore 不直接支持地理查询。如果您打算将搜索组件拆分为 Python 并利用搜索 API,请查看这个 GitHub 存储库(我的),我正是这样做的 - 有一个用于从 PHP 访问搜索 API 的 Python 模型。 github.com/tomwalder/phpne14-text-search

标签: php google-app-engine geolocation geo


【解决方案1】:

Datastore 不支持地理查询,所以我改用了 Search API。

【讨论】:

猜你喜欢
  • 2020-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-29
相关资源
最近更新 更多