SQL实现:
SELECT
round(
6378.138 * 2 * asin(sqrt(pow(sin(
(A点的纬度 * pi() / 180 - B点的纬度 * pi() / 180) / 2
),2) + cos(A点的纬度 * pi() / 180) * cos(B点的纬度 * pi() / 180) * pow(
sin((A点的经度 * pi() / B点的经度 * pi() / 180) / 2),2))
) * 1000
)
具体操作
现在已知两点坐标为:天府广场(104.066546,30.657462) 天府公园(104.072704,30.431714),将这两点的坐标填入上面的sql为:
select round(6378.138*2*asin(sqrt(pow(sin((
30.657462 #A点的纬度
*pi()/180-
30.431714 #B点的纬度
*pi()/180)/2),2)+cos(
30.657462 #A点的纬度
*pi()/180)
*cos(
30.431714 #B点的纬度
*pi()/180)* pow(sin((
104.0665460 #A点的经度
*pi()/180-
104.072704 #B点的经度
*pi()/180)/2),2)))*1000)