可以在MySQL层面使用自定义计算函数来使用

CREATE DEFINER=`xxx`@`%` FUNCTION `get_distance`(
lat1 float,lon1 float,lat2 float,lon2 float) RETURNS float
SQL SECURITY INVOKER
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

当然,MySQL 5.7 引入了 ST_Distance_Sphere, 这是一个计算两点之间距离的原生函数 (在地球上).

使用方式:

select ST_Distance_Sphere(
point(-87.6770458, 41.9631174),
point(-73.9898293, 40.7628267)
)
这使我们得到 1148978.6738241839,以米为单位 # 注意: 注意:point 方法的参数首先是经度,然后是纬度;这是一个常见的陷阱!

更多使用参考:

  • https://learnku.com/laravel/t/40975

MySQL之根据经纬度计算距离的更多相关文章

  1. MySQL创建根据经纬度计算距离的函数

    按照经纬度计算距离 日常开发中,特别是做微信项目时,经常会遇到根据用户地理位置来展示附近商家的功能,通常解决这种问题的思路是,后台设置商家的经纬度,然后再根据前台传的经纬度进行计算,具体经纬度转换以及 ...

  2. iOS根据2个经纬度计算距离

    #pragma mark - calculate distance 根据2个经纬度计算距离 #define PI 3.14159265358979323 +(double) CalculationDi ...

  3. java工具类(六)根据经纬度计算距离

    Java实现根据经纬度计算距离 在项目开发过程中,需要根据两地经纬度坐标计算两地间距离,所用的工具类如下: Demo1: public static double getDistatce(double ...

  4. python的N个小功能(文本字段对应数值,经纬度计算距离,两个时间点计算时间间隔)

    案例1 >>> import pandas as pd >>> df=pd.DataFrame({'A':[1,2,3],'B':[1,2,3],'C':[1,2, ...

  5. php有经纬度计算距离

    /** *  @desc 根据两点间的经纬度计算距离 *  @param float $lat 纬度值 *  @param float $lng 经度值 */  function getDistanc ...

  6. PHP根据两点间的经纬度计算距离,php两点经纬度计算(转)

    这是一个不错的示例,直接贴代码,首先要知道纬度值.经度值 /** * @desc 根据两点间的经纬度计算距离 * @param float $lat 纬度值 * @param float $lng 经 ...

  7. PHP根据两点间的经纬度计算距离

    /** * 说明: 根据两点间的经纬度计算距离 * @param float $lat 纬度值 * @param float $lng 经度值 */ function getDistance($lat ...

  8. php mysql 根据经纬度计算距离和排序

    #.两点距离(1.4142135623730951) ,),point(,)); ORDER BY distance; mysql 5.6 添加 #.两点球面距离(.0357231545m) ,),p ...

  9. cesium根据经纬度计算距离

    var startLatitude = 36;var startLongitude = 120; var endLatitude=34; var endLongitude=121; var start ...

  10. 【PHP】根据两地经纬度计算距离

    最近做一个H5活动的项目,有个要求是必须现场玩家才能参与,所以就需要计算玩家位置和活动地点的距离来判断是否在活动现场. 以下是写的一个根据经纬度计算两地距离的方法 1 function getDist ...

随机推荐

  1. 3.1 migration to 5.0

    记入我遇到的问题 : 1. localizer.WithCulture 废弃了 https://github.com/dotnet/aspnetcore/issues/7756 其实讨论很久了, 只是 ...

  2. CSS – 屏幕, 打印, 分辨率, 物理像素, 逻辑像素, Retina, DPI, PPI 是什么?

    前言 之前就有写过关于 Retina 和 Responsive Image 响应式图片 (responsive image) Retina 显示屏 但写的很烂, 这篇从新整理一下. 参考: 掌握web ...

  3. ASP.NET Core C# 反射 & 表达式树 (第四篇)

    前言 上一篇说完了动态创建表达式树, 这篇来说一说解析表达式树. 我之所以会用到是因为最近开始大量使用 trigger 来维护冗余. 但 trigger 本身并不好维护 (EF Core 也不支持), ...

  4. 数据库MySQL-安装、卸载、配置、登录、退出

    一.下载 下载链接:MySQL :: Download MySQL Community Server (Archived Versions) 二.安装(解压)  三.配置 1.添加环境变量 我的电脑- ...

  5. 深入理解Redis锁与Backoff重试机制在Go中的实现

    目录 Redis锁的深入实现 Backoff重试策略的深入探讨 结合Redis锁与Backoff策略的高级应用 具体实现 结论 在构建分布式系统时,确保数据的一致性和操作的原子性是至关重要的.Redi ...

  6. 4.3.2 等比数列的前n项和公式

    \({\color{Red}{欢迎到学科网下载资料学习 }}\) [ [基础过关系列]高二数学同步精品讲义与分层练习(人教A版2019)] ( https://www.zxxk.com/docpack ...

  7. PC软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具

    前言 国庆假期各种活动比较多,直到上班才有时间来更新文章~ 不过这两天我还是做了个小玩意(Clipify),起因是想给之前开发来自己用的简单视频剪辑工具 QuickCutSharp 加个功能,不过这个 ...

  8. 多款国产操作系统安装数据库干货文档汇总(含Oracle/MySQL/国产数据库等)

    随着国产化的逐步推进,越来越多的企业选择将数据库安装在国产操作系统上.为帮助大家了解国产操作系统上的数据库成功搭建案例与搭建方式,本文整理了墨天轮数据技术社区上用户分享的实操文档,涵盖银河麒麟.中标麒 ...

  9. 权限控制 vue3

  10. Java解析HJ212环保报文

    Java解析HJ212环保报文 toMap方法对报文进行基础的解析 /** * HJ212报文转换为标准化的Map * @param str HJ212报文 * @return */ public s ...