mysql计算两点之间距离

2023年 8月 5日 40.3k 0

MySQL是一种常用的关系型数据库管理系统,它提供了很多有用的函数和操作符,用于计算和处理各种数据。本文将介绍如何使用MySQL计算两点之间的距离。

mysql计算两点之间距离

在MySQL中计算两个经纬度坐标点之间的距离是非常常见的需求。通常,我们使用Haversine公式来计算两个经纬度坐标点之间的距离。Haversine公式基于一些半正矢量的三角函数,可以计算出地球上任意两点之间的距离。

SET @lat1 = 40.689247;
SET @lng1 = -74.044502;
SET @lat2 = 41.878113;
SET @lng2 = -87.629799;
SET @dlat = @lat2 - @lat1;
SET @dlng = @lng2 - @lng1;
SELECT 2 * 3961 * ASIN(SQRT(
POWER(SIN(RADIANS(@dlat) / 2), 2) +
COS(RADIANS(@lat1)) * COS(RADIANS(@lat2)) *
POWER(SIN(RADIANS(@dlng) / 2), 2)
)) AS distance;

上述代码中,我们首先定义了四个变量,分别代表两个经纬度坐标点。然后我们计算出两个点的纬度和经度之间的差异。接着,我们使用上面提到的Haversine公式计算两个点之间的距离,最后得到一个结果。

需要注意的是,上述代码中使用的单位是英里。如果你想计算公里数,你需要将 3961 修改为 6371。

通过使用MySQL提供的函数和操作符,我们可以轻松地计算两个经纬度坐标点之间的距离,从而满足我们在开发中的各种需求。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论