mysql 計算兩坐標間的距離
mysql 5.6.1 加入了空間數據支持功能,新增了st_*相關函數,可以非常方便的計算兩個地理坐標點的距離了。
如下例子:按我的坐標計算周邊坐標的距離并由近到遠排序
select name,st_distance(point(113.327955,23.129717),point)*111195 as distance,address from table1 where st_distance(point(113.327955,23.129717),point)*111195 < 100 order by distance asc limit 100
注意:其中point字段類型是 point,其值可以通過以下方法寫入:
update table1 set point = point(113.123232,24.1324234)
st_distance 計算的結果單位是 度,需要乘111195(地球半徑6371000*PI/180) 是將值轉化為米
其它相關空間函數參考官方手冊
http://dev.mysql.com/doc/refman/5.6/en/spatial-relation-functions-mbr.html
參考
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!