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

mysql查詢路徑不對,mysql中如何按距離排序篩選商家

錢衛(wèi)國2年前22瀏覽0評論
mysql查詢路徑不對,mysql中如何按距離排序篩選商家?

現(xiàn)在很多系統(tǒng)的一些功能都是基于LBS來提供服務(wù)的。什么是LBS呢,LBS是指基于地理位置的服務(wù),通過獲取用戶的地理位置從而給用戶提供更好的服務(wù)。比如我們使用外賣平臺時(shí)可以選擇離最近的商家,原理無非就是將你的位置信息和商家的位置信息進(jìn)行對比,找出距離最近的位置并排序返回結(jié)果。

MySQL支持空間數(shù)據(jù)類型

MySQL 5以上都是支持空間數(shù)據(jù)類型,它主要支持以下空間類型:

點(diǎn):POINT

線:LINESTRING

面:POLYGON

集合:GEOMETRY,可存放點(diǎn)、線、面

還支持多個(gè)點(diǎn)、多個(gè)線、多個(gè)面的數(shù)據(jù)。

MySQL按距離查找并排序的實(shí)現(xiàn)思路

1、字段類型選擇 POINT

對于用戶的位置信息我們選擇POINT類型存儲,將用戶經(jīng)度、緯度入庫保存,比如下圖中的pt字段。

2、通過 GLength 函數(shù)進(jìn)行區(qū)間搜索

select id, pt,city from locationPoint where 0.5 >= GLength(LineStringFromWKB(LineString(pt, point(113.4 ,34.46))))以上就是我的觀點(diǎn),對于這個(gè)問題大家是怎么看待的呢?歡迎在下方評論區(qū)交流 ~ 我是科技領(lǐng)域創(chuàng)作者,十年互聯(lián)網(wǎng)從業(yè)經(jīng)驗(yàn),歡迎關(guān)注我了解更多科技知識!