第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在mysql中使用經度和緯度查找兩點之間的距離

在mysql中使用經度和緯度查找兩點之間的距離

慕容3067478 2019-11-14 09:32:28
嗨,我有下表 -------------------------------------------- |  id  |  city  |  Latitude  |  Longitude  | -------------------------------------------- |  1   |   3    |   34.44444 |   84.3434   | -------------------------------------------- |  2   |   4    | 42.4666667 | 1.4666667   | -------------------------------------------- |  3   |   5    |  32.534167 | 66.078056   | -------------------------------------------- |  4   |   6    |  36.948889 | 66.328611   | -------------------------------------------- |  5   |   7    |  35.088056 | 69.046389   | -------------------------------------------- |  6   |   8    |  36.083056 |   69.0525   | -------------------------------------------- |  7   |   9    |  31.015833 | 61.860278   | --------------------------------------------現在我想獲得兩點之間的距離。假設一個用戶有一個城市3,一個用戶有一個城市7。我的情況是一個用戶有一個城市和緯度,緯度正在搜索其他用戶與城市的距離。例如,擁有城市3的用戶正在搜索。他想得到其他城市的用戶的距離是7。我已搜索到以下查詢SELECT `locations`.`city`, ( 3959 * acos ( cos ( radians(31.589167) ) * cos( radians( Latitude ) ) * cos( radians( Longitude ) - radians(64.363333) ) + sin ( radians(31.589167) ) * sin( radians( Latitude ) ) ) ) AS `distance` FROM `locations` HAVING (distance < 50)據我所知,此查詢查找從一個點到所有其他點的距離?,F在我想獲得一個點到另一點的距離。任何指導方針將不勝感激。
查看完整描述

3 回答

?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

這是MySQL查詢和函數,用于獲取兩個緯度和經度之間的距離,距離將以KM返回。


MySQL查詢:-


SELECT (6371 * acos( 

                cos( radians(lat2) ) 

              * cos( radians( lat1 ) ) 

              * cos( radians( lng1 ) - radians(lng2) ) 

              + sin( radians(lat2) ) 

              * sin( radians( lat1 ) )

                ) ) as distance from your_table

Mysql功能:-


DELIMITER $$

CREATE FUNCTION `getDistance`(`lat1` VARCHAR(200), `lng1` VARCHAR(200), `lat2` VARCHAR(200), `lng2` VARCHAR(200)) RETURNS varchar(10) CHARSET utf8

begin

declare distance varchar(10);


set distance = (select (6371 * acos( 

                cos( radians(lat2) ) 

              * cos( radians( lat1 ) ) 

              * cos( radians( lng1 ) - radians(lng2) ) 

              + sin( radians(lat2) ) 

              * sin( radians( lat1 ) )

                ) ) as distance); 


if(distance is null)

then

 return '';

else 

return distance;

end if;

end$$

DELIMITER ;

如何在您的PHP代碼中使用


SELECT getDistance(lat1,lng1,$lat2,$lng2) as distance 

FROM your_table.


查看完整回答
反對 回復 2019-11-14
  • 3 回答
  • 0 關注
  • 783 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號