mysql 经纬度距离计算

经纬度距离计算

  • 函数计算方法
  • 两点距离(单位m) mysql 5.6 添加
  • 两点球面距离(单位m)MySQL 5.7.6添加

函数计算方法

CREATE DEFINER=`root`@`%` FUNCTION `GetDistance`(
    myLatitude DECIMAL(11,8),#我当前位置的纬度
    myLongitude DECIMAL(11,8),#我当前位置的经度
    latitude DECIMAL(11,8),
    Longitude  DECIMAL(11,8)
  ) RETURNS double
BEGIN
    RETURN round(
      6370986 * ACOS(
        COS(RADIANS(myLatitude)) * COS(RADIANS(latitude)) * COS(RADIANS(Longitude) - RADIANS(myLongitude)) +
        SIN(RADIANS(myLatitude)) * SIN(RADIANS(latitude))
      )/1000,2
    );
END

两点距离(单位m) mysql 5.6 添加

select st_distance(point(0,0),point(1,1));
select st_distance(point (120.10591, 30.30163),point(120.13026,30.25961));

两点球面距离(单位m)MySQL 5.7.6添加

select st_distance_sphere(point(0,0),point(1,1));
select st_distance_sphere(point (120.10591, 30.30163),point(120.13026,30.25961));

你可能感兴趣的:(mysql,mysql,经纬度,距离)