【问题标题】:How to find the nearest geohash in mysql?如何在mysql中找到最近的geohash?
【发布时间】:2019-02-13 04:57:38
【问题描述】:

最近我正在使用 GeoHash 将配对的地理坐标散列成一个散列值并将其存储在 MySQL 中。现在我想在给定另一个哈希的情况下找到最近的哈希。我注意到 MYSQL 提供了 BTree 结构,通过在 SQL 查询中使用命令“like”来查找一系列最近的哈希。

问题是,我怎么能找到最近的而不是给出一个范围,因为有时我不知道范围。

有人可以给我一个提示吗?

真的很感激。

【问题讨论】:

标签: mysql search indexing geohashing


【解决方案1】:

QuadTile(或 GeoHash?)可逆地将纬度 + 经度变成一个数字。但是用它来“找到最近的”变得复杂而混乱。阅读有关 Z 排序的信息。据我了解,您需要使用ORDER BYLIMIT 运行4 个查询; UNION结果一起;然后检查哪些是最好的。

但是如果尝试没有找到足够的项目,要知道该怎么做会很棘手。

SPATIAL 索引提供了一种更直接的方法。

Here 是一种有效地为大型数据集“寻找最近”的技术。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-05
    • 2018-08-28
    • 1970-01-01
    • 2013-01-05
    • 2016-07-19
    • 2010-12-07
    • 2016-09-17
    相关资源
    最近更新 更多