zoukankan      html  css  js  c++  java
  • [LBS]查询离某个经纬附近的数据SQL语句

    //地球半径,平均半径为6371km
     /**
     *计算某个经纬度的周围某段距离的正方形的四个点
     *
     *@param lon float 经度
     *@param lat float 纬度
     *@param distance float 该点所在圆的半径,该圆与此正方形内切,默认值为0.5千米
     *@return array 正方形的四个点的经纬度坐标
     */
    //对于经度和纬度大于或小于该用户1度(111公里)范围内的用户进行距离计算,同时对数据表中的经度和纬度两个列增加了索引来优化where语句执行时的速度.
     
    select * from tablename where lat>34.23414-1 and lat<34.23414+1 and lon>117.180734-1 and lon<117.180734+1 
    order by ACOS(SIN((34.23414 * 3.1415) / 180 ) *SIN((lat * 3.1415) / 180 ) +COS((34.23414 * 3.1415) / 180 ) * COS((lat * 3.1415) / 180 ) * COS((117.180734 * 3.1415) / 180 - (lon * 3.1415) / 180 ) ) * 6380  desc  limit 10
     
    如果有什么事情让你感到恐惧或者兴奋,那就去做吧!
  • 相关阅读:
    个人作业-数组3
    Java编程思想
    19年春第三周学习
    个人作业-数组2
    自我介绍
    个人作业-数组
    19春第二周学习心得
    fiddler--华为手机下载安装fiddler证书
    RF接口测试----post请求
    RF接口测试----get请求
  • 原文地址:https://www.cnblogs.com/yaokoo/p/2945885.html
Copyright © 2011-2022 走看看