sql MySQL计算距离(km),假设地球半径为6,371 km(3,959英里)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql MySQL计算距离(km),假设地球半径为6,371 km(3,959英里)相关的知识,希望对你有一定的参考价值。

-- MySQL calculate distance (kilometers), assuming a earth radius of 6,371 km (3,959 mi)
-- See: http://nssdc.gsfc.nasa.gov/planetary/factsheet/earthfact.html

CREATE FUNCTION `lat_lng_distance` (lat1 FLOAT, lng1 FLOAT, lat2 FLOAT, lng2 FLOAT)
    RETURNS FLOAT
    DETERMINISTIC
    BEGIN
        RETURN 6371 * 2 * ASIN(SQRT(
            POWER(SIN((lat1 - abs(lat2)) * pi()/180 / 2),
            2) + COS(lat1 * pi()/180 ) * COS(abs(lat2) *
            pi()/180) * POWER(SIN((lng1 - lng2) *
            pi()/180 / 2), 2) ));
    END

以上是关于sql MySQL计算距离(km),假设地球半径为6,371 km(3,959英里)的主要内容,如果未能解决你的问题,请参考以下文章

经纬度计算距离公式

计算两个经纬度之间的距离

怎么知道经纬度算距离,

c# 计算地球上两点间距离

如何计算经纬度之间的距离?

两个经纬度算距离公式 方法是啥