當前位置:首頁 » 存儲配置 » mysql經緯度存儲

mysql經緯度存儲

發布時間: 2025-08-28 12:08:41

sql (mysql)實現查詢某一個經緯度周圍500米距離的餐館,資料庫存放所有餐館的經緯度。

mysql兩點間距,你也自己弄成函數

公式如下,單位米:
第一點經緯度:lng1 lat1
第二點經緯度:lng2 lat2
round(6378.138*2*asin(sqrt(pow(sin(
(lat1*pi()/180-lat2*pi()/180)/2),2)+cos(lat1*pi()/180)*cos(lat2*pi()/180)*
pow(sin( (lng1*pi()/180-lng2*pi()/180)/2),2)))*1000)

例如:
SELECT store_id,lng,lat,
ROUND(6378.138*2*ASIN(SQRT(POW(SIN((22.299439*PI()/180-lat*PI()/180)/2),2)+COS(22.299439*PI()/180)*COS(lat*PI()/180)*POW(SIN((114.173881*PI()/180-lng*PI()/180)/2),2)))*1000)
AS
juli
FROM store_info
ORDER BY juli DESC
LIMIT 316

㈡ mysql存儲地圖經緯度的表怎麼設計

可以設計兩張關聯表 一個用來保存信息 一個用來保存X.Y點的信息 或者Mysql也支持空間數據,Geometry類型即可。
若有問題,請您及時追問我
若滿意,請您及時採納
謝謝您的關照~

㈢ sql (mysql)怎麼實現查詢某一個經緯度周圍500米距離的餐館,資料庫存放所有餐館的經緯度

回答的有點晚,正好我做到相關的項目了,希望能幫到其他人.

餐館申請時候通過填寫的地址取得經緯度存入資料庫,下面是查詢某個經緯度附近500米的

$user_lat='41.749034'; //傳過來的緯度
$user_lng='123.46017';//傳過來的經度
$store_mod=db("store"); //資料庫
$storelist=$store_mod->query("SELECT
*,ROUND(6378.138*2*ASIN(SQRT(POW(SIN((".$user_lat."*PI()/180-【store_latitude】*PI()/180)/2),2)+COS(".$user_lat."*PI()/180)*COS(【store_latitude】*PI()/180)*POW(SIN((".$user_lng."*PI()/180-【store_longitude】*PI()/180)/2),2)))*1000)
AS distance FROM store HAVING 【搜索條件如 state=1】 distance<【周圍距離多少米 如
500】 ORDER BY distance ASC");
var_mp($storelist);
【】sql語句中括弧的store_latitude,store_longitude為你資料庫存的商家經緯度的欄位名,其餘的為注釋

熱點內容
編譯器咋用 發布:2025-08-28 14:29:03 瀏覽:688
新聞訪問類型 發布:2025-08-28 14:22:25 瀏覽:937
從零基礎學習編程 發布:2025-08-28 13:57:34 瀏覽:381
資料庫在國外 發布:2025-08-28 13:42:53 瀏覽:891
androiddialog創建 發布:2025-08-28 13:09:26 瀏覽:950
初級伺服器是指什麼 發布:2025-08-28 13:08:39 瀏覽:100
微軟dns伺服器地址 發布:2025-08-28 13:07:20 瀏覽:607
2013款榮放頂配有哪些配置 發布:2025-08-28 13:05:32 瀏覽:667
dedecmssql注入漏洞 發布:2025-08-28 12:54:27 瀏覽:397
dash官網搭建伺服器 發布:2025-08-28 12:45:17 瀏覽:746