正如我的問題所述,我正在尋找一個可以計算兩點之間距離的函數/公式。現在我看了一個例子,發現了很棒的功能,但是他們都沒有工作,當我提供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