我正在尝试创建一个mysql函数,以便以米为单位计算2个地理位置之间的距离。
这是我到目前为止(谷歌的一些东西):
CREATE DEFINER=`root`@`server.asafnevo.co.il` FUNCTION `getDistance`(
firstLong float(10,6),
firstLat float(10,6),
secondLong float(10,6),
secondLat float(10,6)
) RETURNS int(11)
BEGIN
RETURN abs((((acos(sin((firstLat*pi()/180)) *
sin((secondLat*pi()/180))+cos((firstLat*pi()/180)) *
cos((secondLat*pi()/180)) * cos(((firstLong-secondLong)*
pi()/180))))*180/pi())*60*1.1515
)) * 1.6093 * 1000;
END
这个问题是它并不总能在距离点之间得到0距离。
任何想法如何做对吗?