正如我的问题所述,我正在寻找一个可以计算两点之间距离的函数/公式。现在我看了一个例子,发现了很棒的功能,但是他们都没有工作,当我提供2组积分时,他们都返回0。基本上我需要通过以下函数(lat1,lon1,lat2,lon2)并返回距离。从这个距离我可以检查一下检查另一点是否在附近。计算2组lon和lat之间的距离
UPDATE 好了,所以我现在用下面的函数,
BEGIN
DECLARE pi, q1, q2, q3 , roundedVal FLOAT ;
DECLARE rads FLOAT DEFAULT 0;
SET pi = PI();
SET lat1 = lat1 * pi/180;
SET lon1 = lon1 * pi/180;
SET lat2 = lat2 * pi/180;
SET lon2 = lon2 * pi/180;
SET q1 = COS(lon1-lon2);
SET q2 = COS(lat1-lat2);
SET q3 = COS(lat1+lat2);
SET rads = ACOS(0.5*((1.0+q1)*q2 - (1.0-q1)*q3));
RETURN FORMAT((6371 * rads) , 1);
END
这正常工作与多公里,但我所寻找的是米。所以我知道我已经改变了该功能中的数字,但是哪些和哪些。任何帮助?
呃,什么语言?和[你有什么尝试](http://mattgemmell.com/2008/12/08/what-have-you-tried/)? – ghoti 2012-03-20 12:17:20
对不起,语言是mysql,我有公式计算公里数,现在我只需要计算公尺。感谢所有的帮助家伙! – 2012-03-20 13:52:44
将km改为m只需将结果乘以1000.这就是“k”的含义:“kilo”是“千”。 – 2012-03-20 16:52:05