Mysql sql 计算两个坐标之间的距离

Mysql sql 计算两个坐标之间的距离

赤道半径:6378.137km
查询结果为km
SELECT id,(
6378.137 * 2 * ASIN(
			SQRT(
				POW(
					SIN(
						(
							RADIANS(当前纬度latitude)- RADIANS(数据库中存储的目标纬度latitude)
						)/ 2
					),
					2
				)+ COS(RADIANS(当前纬度latitude))* COS(RADIANS(数据库中存储的目标纬度latitude))* POW(
					SIN(
						(
							RADIANS(当前经度longitude)- RADIANS(数据库中存储的目标经度longitude)
						)/ 2
					),
					2
				)
			)
		)
		) AS distance FROM tablename 

猜你喜欢

转载自crabdave.iteye.com/blog/2301497