PHP DataStore 地理查询

Posted

技术标签:

【中文标题】PHP DataStore 地理查询【英文标题】:PHP DataStore geo query 【发布时间】: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。然而,根据***.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 【参考方案1】:

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

【讨论】:

我已经发布了对 PHP 的原生搜索 API 支持——以防万一! github.com/tomwalder/php-appengine-search

以上是关于PHP DataStore 地理查询的主要内容,如果未能解决你的问题,请参考以下文章

使用 grpc 和 cloud-datastore 时如何修复 App Engine Flex 中的 AttributeError?

地理位置应用 Google Cloud

PowerCLI 通过vCenter 批量更改所有esxi 7 数据存储名称

Google Cloud Dataflow ETL(数据存储区 -> 转换 -> BigQuery)

php WP地理查询

php获取了ip地址,用php怎么获取ip的地理位置?请大虾赐教!