MySQL之根据经纬度计算距离
可以在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之根据经纬度计算距离的更多相关文章
- MySQL创建根据经纬度计算距离的函数
按照经纬度计算距离 日常开发中,特别是做微信项目时,经常会遇到根据用户地理位置来展示附近商家的功能,通常解决这种问题的思路是,后台设置商家的经纬度,然后再根据前台传的经纬度进行计算,具体经纬度转换以及 ...
- iOS根据2个经纬度计算距离
#pragma mark - calculate distance 根据2个经纬度计算距离 #define PI 3.14159265358979323 +(double) CalculationDi ...
- java工具类(六)根据经纬度计算距离
Java实现根据经纬度计算距离 在项目开发过程中,需要根据两地经纬度坐标计算两地间距离,所用的工具类如下: Demo1: public static double getDistatce(double ...
- python的N个小功能(文本字段对应数值,经纬度计算距离,两个时间点计算时间间隔)
案例1 >>> import pandas as pd >>> df=pd.DataFrame({'A':[1,2,3],'B':[1,2,3],'C':[1,2, ...
- php有经纬度计算距离
/** * @desc 根据两点间的经纬度计算距离 * @param float $lat 纬度值 * @param float $lng 经度值 */ function getDistanc ...
- 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 ...
随机推荐
- Redis 高可用方案原理初探
redis 参考目录: 生产级Redis 高并发分布式锁实战1:高并发分布式锁如何实现 https://www.cnblogs.com/yizhiamumu/p/16556153.html 生产级Re ...
- 免费在线OCR识别工具TextIn Tools,开启智能学习新时代
传统的学习方式,笔记必须手写摘抄:带字照片只能插入文档:PDF转换要花钱买会员-- 而在线OCR识别工具tools.textin.com,既好用又免费,它不仅仅具有文字和表格识别工具,还包含PDF转文 ...
- Angular 18+ 高级教程 – EventManagerPlugin & Hammer.js Gesture
前言 今天来揭秘一下 Angular 的 Event Listening,看看它底层有什么好玩的地方. (keydown.enter) 语法 在 Component 组件 の Template Bin ...
- CSS – Naming Conversion
参考: CSS Naming Conventions that Will Save You Hours of Debugging Class Name kebab-case .hero-section ...
- EF Core – Soft Delete 实现
前言 在 SQL Server – Soft Delete 中, 讲到了如果在 SQL Server 实现 Soft Delete. 这篇来说说, EF Core 在中间扮演的角色. 主要参考 Ent ...
- 【QT性能优化】QT性能优化之QT性能优化实战 QML优化 QT高性能 QT6系列视频课程 QT6 性能优化实战 QT高性能 QT原理源码 QML优化 GUI绘图原理源码
QT性能优化实战视频课程 QT6 Widgets高性能应用编程 1.课前考试 2.字符串优化(上) 3.字符串优化(下) 4.绘图优化(上) 5.绘图优化(下) 6.QT界面优化(上) 7.QT界面 ...
- LeetCode 327. Count of Range Sum 区间和的个数
给定一个整数数组 nums,返回区间和在 [lower, upper] 之间的个数,包含 lower 和 upper.区间和 S(i, j) 表示在 nums 中,位置从 i 到 j 的元素之和,包含 ...
- 【VMware VCF】使用 SFTP 服务器备份 VCF 核心组件的配置文件。
可以定期对 VMware Cloud Foundation 环境中的相关核心组件(如 SDDC Manager.NSX Manager 以及 vCenter Server 等)创建配置备份,以防止当意 ...
- npy转换为png和nii文件
#coding:utf-8 import matplotlib.pyplot as plt import numpy as np import os from skimage.transform im ...
- 墨天轮沙龙 | 麦杰科技卢学东:openPlant 实时数据库系统及应用
在8月24日举办的[墨天轮数据库沙龙第九期-工业实时数据库专场]中,麦杰科技创始人 卢学东分享了<麦杰openPlant实时数据库系统及应用>主题演讲,本文为整理内容. 导读 工业互联网推 ...