gpt4 book ai didi

MySQL Lat/Lon 半径搜索

转载 作者:行者123 更新时间:2023-11-29 03:12:12 25 4
gpt4 key购买 nike

我有一张包含邮政编码 (int) 和位置 (point) 的表格。我正在寻找 MySql 查询或函数。这是日期的示例。我想返回 100 英里。

37922|POINT(35.85802 -84.11938)

是否有一个简单的查询来实现这一点?

好的,我有这个

select x(Location), Y(Location) FROM zipcodes

这将给出我的两点,但我如何找出 x/y 距离内的内容?

最佳答案

执行此操作的查询并不太难,但速度很慢。您会想要使用 Haversine 公式。

http://en.wikipedia.org/wiki/Haversine_formula

将其转换为 SQL 应该不会太困难,但是随着数据集的增加,计算表中每条记录的距离会变得成本高昂。

通过使用 geohash 函数来限制候选记录的位置,可以显着减少工作量。如果准确性很重要,可以将 Haversine 公式应用于 geohash 区域内的记录。

如果 mysql 人员从未完成他们的 GIS 和空间扩展,请考虑使用 ElasticSearch 或 MongoDB。

这里有一个非常完整的讨论: Formulas to Calculate Geo Proximity

关于MySQL Lat/Lon 半径搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6351662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com