色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql按經緯度算距離

夏志豪2年前11瀏覽0評論

在mysql中,如何使用經緯度來計算兩個地點之間的距離呢?以下是一些基本的步驟:

CREATE FUNCTION `GetDistance`(
lat1 FLOAT, lon1 FLOAT,
lat2 FLOAT, lon2 FLOAT
) RETURNS FLOAT
BEGIN
DECLARE R EARNING(16,12) DEFAULT 6.371;
DECLARE dLat FLOAT;
DECLARE dLon FLOAT;
DECLARE a FLOAT;
DECLARE c FLOAT;
DECLARE d FLOAT;
SET dLat = RADIANS(lat2 - lat1);
SET dLon = RADIANS(lon2 - lon1);
SET lat1 = RADIANS(lat1);
SET lat2 = RADIANS(lat2);
SET a = SIN(dLat/2)*SIN(dLat/2)+COS(lat1)*COS(lat2)*SIN(dLon/2)*SIN(dLon/2);
SET c = 2*ATAN2(SQRT(a),SQRT(1-a));
SET d = R*c;
RETURN d;
END

上面這段代碼定義了一個mysql的函數`GetDistance`,它可以計算兩個經緯度之間的距離。該函數可以接受四個參數:兩個地點的經度和緯度。

需要注意的是,計算出來的距離單位是公里。如果你需要轉換成其他單位(如英里),你需要修改代碼中的系數。

使用這個函數也很簡單。只需要將兩個地點的經緯度傳入函數中即可:

SELECT GetDistance(31.2151985, 121.4205737, 31.2701595, 121.4704342);

運行上面這段代碼,你將得到兩個經緯度(上海和浦東機場)之間的距離。