重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

mysql怎么查询距离 mysql计算距离

MySQL计算坐标之间距离

注:

江宁网站建设公司创新互联,江宁网站设计制作,有大型网站制作公司丰富经验。已为江宁近1000家提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的江宁做网站的公司定做!

网上有很多的方法,但是最终结果都有很大的差异,对于半径取值(地球赤道半径6378.137千米,极半径6356.752千米,平均半径约6371千米)根据自己需求进行定义;计算结果应与其他地图软件进行对比,保证数值正确;

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为你数据库存的商家经纬度的字段名,其余的为注释

sql (mysql)实现查询某一个经纬度周围500米距离的餐馆,数据库存放所有餐馆的经纬度。

mysql两点间距,你也自己弄成函数

公式如下,单位米:

第一点经纬度:lng1 lat1

第二点经纬度:lng2 lat2

round(6378.138*2*asin(sqrt(pow(sin(

(lat1*pi()/180-lat2*pi()/180)/2),2)+cos(lat1*pi()/180)*cos(lat2*pi()/180)*

pow(sin( (lng1*pi()/180-lng2*pi()/180)/2),2)))*1000)

例如:

SELECT store_id,lng,lat,

ROUND(6378.138*2*ASIN(SQRT(POW(SIN((22.299439*PI()/180-lat*PI()/180)/2),2)+COS(22.299439*PI()/180)*COS(lat*PI()/180)*POW(SIN((114.173881*PI()/180-lng*PI()/180)/2),2)))*1000)

AS

juli

FROM store_info

ORDER BY juli DESC

LIMIT 316

mysql 判断 距离

楼主 请再讲清楚点好吧?

GlangXMeter GlatYMeter, PxMeter PyMeter 各确定一个点 怎么个确定法?

不大明白

快下班了 才看到你的补充

来不及写语句了 思路说下吧 就像高中学的

点1(x1,y1) 点2(x2,y2)

两点距离:(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2) 再平方根就可以了

数据库中应该有平方,平方根的函数

很简单的 只是用在数据库中了而已、


本文名称:mysql怎么查询距离 mysql计算距离
链接分享:http://cqcxhl.cn/article/hidisd.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP