栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

不带三角函数的SQL距离查询

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

不带三角函数的SQL距离查询

如果您的点彼此之间的距离在合理范围内(即,不在世界的一半范围内,也不在日期线之间),则可以对经度和纬度之间的差异进行校正(因为经度较短,除非在赤道处)
),然后像平地一样计算距离。

当您只想对值进行排序时,您甚至不必使用平方根,您只需添加差异的平方即可。

示例,其中

@lat
@lng
是您当前的位置,并且
2
是差异校正:

select *from Pointsorder by (lat - @lat) * (lat - @lat) + ((lng - @lng) * 2) * ((lng - @lng) * 2)

您可以将特定纬度的差异校正计算为

1 / cos(lat)


Cees Timmerman提出了这个公式,该公式也适用于日期范围:

pow(lat-lat2, 2) + pow(2 * min(abs(lon-lon2), 360 - abs(lon-lon2)), 2)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/410881.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号