我正在尝试创建一个 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 的点之间的距离..
知道怎么做吗?