獲取附近多少米以內的建築物信息

咱們有時候在業務中可能有一個這種需求,假如獲取附近某個點位多少米範圍內的建築信息列表,能夠這麼作!!!MYSQL給咱們提供了一個st_distance這個函數,能夠很方便的使用!html

一、表結構(production_base)git

ID 名稱 經度 緯度
id name latitude longitude

二、mybatis映射信息mybatis

<!-- 獲取附近多少米的建築物列表 --> 
<select id="selectNearByProductionList" resultMap="NearByProductionListMap"> 
  select id, name,
(st_distance(point(#{lat,jdbcType=DOUBLE},#{lng,jdbcType=DOUBLE}),point(latitude,longitude))*111195) as distance from production_base 
   <where> 
      (st_distance(point(#{lat,jdbcType=DOUBLE},# 
      {lng,jdbcType=DOUBLE}),point(latitude,longitude))*111195) < #{maxDistance,jdbcType=DOUBLE} 
   </where> 
</select>

其中lat,lng,maxDistance是咱們傳遞進來的數據,篩選離經緯度lat,lng距離maxDistance的數據信息函數

參考文檔:https://www.cnblogs.com/zrbfree/p/5566514.htmlspa

相關文章
相關標籤/搜索