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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在mysql中使用經(jīng)度和緯度查找兩點(diǎn)之間的距離

在mysql中使用經(jīng)度和緯度查找兩點(diǎn)之間的距離

慕容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   | --------------------------------------------現(xiàn)在我想獲得兩點(diǎn)之間的距離。假設(shè)一個(gè)用戶有一個(gè)城市3,一個(gè)用戶有一個(gè)城市7。我的情況是一個(gè)用戶有一個(gè)城市和緯度,緯度正在搜索其他用戶與城市的距離。例如,擁有城市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)據(jù)我所知,此查詢查找從一個(gè)點(diǎn)到所有其他點(diǎn)的距離?,F(xiàn)在我想獲得一個(gè)點(diǎn)到另一點(diǎn)的距離。任何指導(dǎo)方針將不勝感激。
查看完整描述

3 回答

?
呼啦一陣風(fēng)

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊

這是MySQL查詢和函數(shù),用于獲取兩個(gè)緯度和經(jīng)度之間的距離,距離將以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.


查看完整回答
反對(duì) 回復(fù) 2019-11-14
  • 3 回答
  • 0 關(guān)注
  • 796 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)