Mysql 拿指定经纬度与数据库多条经纬度进行距离计算

Posted jhcelue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql 拿指定经纬度与数据库多条经纬度进行距离计算相关的知识,希望对你有一定的参考价值。


公式例如以下,单位米:
第一点经纬度:lng1 lat1
第二点经纬度:lng2 lat2
round(6378.138*2*asin(sqrt(pow(sin(
(lat1*pi()/180-lat2*pi()/180)/2),2)+cos(lat1*pi()/180)*cos(lat2*pi()/180)*

pow(sin( (lng1*pi()/180-lng2*pi()/180)/2),2)))*1000)


比如:
SELECT store_id,lng,lat,
ROUND(6378.138*2*ASIN(SQRT(POW(SIN((22.299439*PI()/180-lat*PI()/180)/2),2)+COS(22.299439*PI()/180)*COS(lat*PI()/180)*POW(SIN((114.173881*PI()/180-lng*PI()/180)/2),2)))*1000)
AS
 juli
FROM store_info having juli > 500
ORDER BY juli DESC
LIMIT 100





以上是关于Mysql 拿指定经纬度与数据库多条经纬度进行距离计算的主要内容,如果未能解决你的问题,请参考以下文章

指定经纬度与数据库多条经纬度进行距离计算

Java,Mysql-根据一个给定经纬度的点,进行附近500米地点查询–合理利用算法

使用经纬度查找距离的Sql返回错误的距离

mysql 下 计算 两点 经纬度 之间的距离 计算结果排序

Mysql 数据库,经纬度距离计算/经纬度范围检索 (谷歌方案)

mysql中如何根据经纬度优化这个距离查询