本文目錄一覽:
- 1、緯度和度量在MySQL數據庫中怎麼存儲
- 2、sql (mysql)怎麼實現查詢某一個經緯度周圍500米距離的餐館,數據庫存放所有餐館的經緯度?
- 3、mysql怎麼儲存經緯度數據
- 4、mysql存儲地圖經緯度的表怎麼設計?
緯度和度量在MySQL數據庫中怎麼存儲
可以使用字符串varchar,然後取出數據之後將字符串轉化為double類型或float類型
可以存儲這些經/緯度數據,如波紋管 –
$arr = array(“13.692941, 100.750723”,
“13.70649,100.75405999999998”,
“13.71334,100.75428999999997”,
“13.72268,100.74638000000004”);
// serialize data before save to database, you should deserialized that when you will use this data after query.
$serializedArr = serialize($arr);
insert into geom (g) values (“{$serializedArr}”);
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_dump($storelist);
【】sql語句中括號的store_latitude,store_longitude為你數據庫存的商家經緯度的字段名,其餘的為注釋
mysql怎麼儲存經緯度數據
1. 直接按字符串整個存進去就好;
2. 或者你把度分秒的數字分開,分別存到三個數字類型的字段
mysql存儲地圖經緯度的表怎麼設計?
可以設計兩張關聯表 一個用來保存信息 一個用來保存X.Y點的信息 或者Mysql也支持空間數據,Geometry類型即可。
若有問題,請您及時追問我
若滿意,請您及時採納
謝謝您的關照~
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/238956.html