【小5聊】sql server基础之查询经纬度范围,10公里范围的经纬度标注点

【场景】

有一个当前位置经纬度值A,然后以坐标点A为中心点,数据库表里查询半径为10公里范围的经纬度坐标点记录值

【数据值】

地球半径值:6371.004

中心点值:(113.41339,23.05262)

查询范围:10公里

【计算公式】

温馨提示:这里计算出来的值是指默认大小时的直线距离,即圆的半径范围

(6371.004*ACOS(SIN(23.05262/180*PI())*SIN(LAT/180*PI())+COS(23.05262/180*PI())*COS(LAT/180*PI())*COS((113.41339-LONG)/180*PI())))

(地球半径*ACOS(SIN(中心点纬度/180*PI())*SIN(数据库表的纬度/180*PI())+COS(中心点纬度/180*PI())*COS(数据库表的纬度/180*PI())*COS((中心点经度-数据库表的经度)/180*PI())))

【Sql代码】

select * from (
SELECT (
6371.004*ACOS(SIN(23.05262/180*PI())*SIN(LAT/180*PI())+
COS(23.05262/180*PI())*COS(LAT/180*PI())*COS((113.41339-LONG)/180*PI())))AS dis 
FROM CENTER 
) B
where dis<10
order by  dis asc;

【界面】

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全栈小5

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值