mysql8距离计算_MySQL创建根据经纬度计算距离的函数按照经纬度计算距离
⽇常开发中,特别是做项⽬时,经常会遇到根据⽤户地理位置来展⽰附近商家的功能,通常解决这种问题的思路是,后台设置商家的经纬度,然后再根据前台传的经纬度进⾏计算,具体经纬度转换以及前台如何获取,本篇不做详细介绍,可以使⽤php类⽅法计算,也可以通过sql语句来计算,在此,主要是介绍利⽤MySQL创建⼀个函数,然后在sql语句中使⽤
创建函数:lat_lng_distance(),单位:km,并已截取⼩数点2位
CREATE FUNCTION `lat_lng_distance` (lat1 FLOAT, lon1 FLOAT, lat2 FLOAT, lon2 FLOAT)
RETURNS FLOAT
DETERMINISTIC
BEGIN
RETURN 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(( lon1 * PI() / 180 - lon2 * PI() / 180 ) / 2),2))),2);
END
创建完成,然后再在sql语句中调⽤即可,下⾯是截图常见的通配符有哪些
python代码输入完了怎么运行
1 $shops = Db::name('user')
->field('id,shop_name,shop_address,avatar,average_consume,discount,lat_lng_distance('.$lat.','.$lon.',lat,lon) as
distance,get_shop_avg_star(id) as star')
->where($where)
->page($page,10)
->order('distance asc')
->select()->toArray();
其中,$lat,$lon是前台传过来的参数;
python的N个⼩功能(⽂本字段对应数值,经纬度计算距离,两个时间点计算时间间隔)
案例1 >>> import pandas as pd >>> df=pd.DataFrame({'A':[1,2,3],'B':[1,2,3],'C':[1,2, ...
iOS根据2个经纬度计算距离
#pragma mark - calculate distance 根据2个经纬度计算距离 #define PI 3.14159265358979323 +(double) CalculationDi ...
java⼯具类(六)根据经纬度计算距离
Java实现根据经纬度计算距离 在项⽬开发过程中,需要根据两地经纬度坐标计算两地间距离,所⽤的⼯具类如下: Demo1: public static double getDistatce(double ...css整个页面居中
php有经纬度计算距离
s11全球总决赛赛制/** *  @desc 根据两点间的经纬度计算距离 *  @param float $lat 纬度值 *  @param float $lng 经度值 */  function getDistanc ...
important的高级替换PHP根据两点间的经纬度计算距离,php两点经纬度计算(转)
这是⼀个不错的⽰例,直接贴代码,⾸先要知道纬度值.经度值 /** * @desc 根据两点间的经纬度计算距离 * @param float $lat 纬度值 *
@param float $lng 经 ...
PHP根据两点间的经纬度计算距离
/** * 说明: 根据两点间的经纬度计算距离 * @param float $lat 纬度值 * @param float $lng 经度值 */ function getDistance($lat ...
php mysql 根据经纬度计算距离和排序
#.两点距离(1.4142135623730951) ,),point(,)); ORDER BY distance; mysql 5.6 添加 #.两点球⾯距离(.0357231545m) ,),p ...
cesium根据经纬度计算距离
var startLatitude = 36;var startLongitude = 120; var endLatitude=34; var endLongitude=121; var start ...
【PHP】根据两地经纬度计算距离
最近做⼀个H5活动的项⽬,有个要求是必须现场玩家才能参与,所以就需要计算玩家位置和活动地点的距离来判断是否在活动现场. 以下是写的⼀个根据经纬度计算两地距离的⽅法 1 function getDist ...
随机推荐mysql面试题34道经典
django开发个⼈简易Blog—nginx+uwsgin+django1.6+mysql 部署到CentOS6.5
⾯试中关于Java你所需知道的的⼀切
本篇⽂章会对⾯试中常遇到的Java技术点进⾏全⾯深⼊的总结,帮助我们在⾯试中更加得⼼应⼿,不参加⾯试的同学也能够借此机会梳理⼀下⾃⼰的知识体系,进⾏查漏补缺. 1. Java中的原始数据类型都有哪些, ...
html页⾯3秒后⾃动跳转的⽅法有哪些
在进⾏web前端开发实战练习时,我们常常遇到⼀种问题就是,web前端开发应该如何实现页⾯N秒之后⾃动跳转呢?通过查相关html教程,总结了3个⽅法: ⽅法1: 最简单的⼀种:直接在前⾯
Exception loading sessions from persistent storage 这个问题的解决
现在经常在做⼀个项⽬时重启时会报: 严重: Exception loading sessions from persistent storage的问题. 这个问题的原因是tomcat的session持 ...
dede 留⾔簿 多个
使⽤后台的[模块]-[模块⽣成向导],然后填写⼀下资料 PS:complaints 是之前做的⼀个"举报投诉"的留⾔簿意思,这⾥⽤作⾮常多⽂件名称和新建数据表的名字,所以替换就可以 ...
⾳频PCM编码
PCM编码 PCM就是把⼀个时间连续,取值连续的模拟信号变换成时间离散,取值离散的数字信号后在信道中传输.简⽽⾔之PCM就是对模拟信号先抽样,再对样值幅度量化,编码的过程.例如听到的声⾳就是模拟信号, ...
xshell替代⼯具finalShell
主要特性:1.多平台⽀持Windows,Mac OS X,Linux2.多标签,批量服务器管理.3.⽀持登录Ssh和Windows远程桌⾯.4.漂亮的平滑字体显⽰,内置100多个配⾊⽅案.5.终端,s ...
tr 命令
[root@localhost .txt abcdefg [root@localhost .txt |tr [a-z] [A-Z] ABCDEFG // 把⽂件⼩写字母变成⼤写字母
Python爬⾍【五】Scrapy分布式原理笔记
Scrapy单机架构 在这⾥scrapy的核⼼是scrapy引擎,它通过⾥⾯的⼀个调度器来调度⼀个request的队列,将request发给downloader,然后来执⾏request请求 但是这些 ...