请教一个关于经纬度的查询语句 给定一个经纬度,都是google的格式,如11.11111,22.22222然后给定一个范围,如50米,然后得到经纬度在以给定经纬度为中心,给定范围内的记录,该如何做呢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个不是GIS里面的缓冲区查询么? 我不知道这个50米怎么计算哦……如果只是纯粹的经纬度查询,那都好办多了,加上这个计算公式,好像比较麻烦 还有,不知道你经纬度存贮的格式,如果是按照 主键 经度 维度 这样的表的话,你可以遍历表,然后与给定的数据进行比较查询eg select * from table where (两点之间距离计算公式)<50 declare @R floatset @R = 6378.137;declare @lng floatdeclare @lat floatset @lng = 11.11111;set @lat = 22.22222;select * from gmap where @R*acos(cos(lng)*cos(@lng)*(lat-@lat)+sin(lng)*sin(@lng))*1000<=50--地球面2点间距离的公示R·arc cos[cosβ1cosβ2cos(α1-α2)+sinβ1sinβ2] set @R = 6378.137;这个数值是什么意思? set @R = 6378.137;地球半径 我查到了,好像经纬度坐标必须为度,不能是google的这种格式 重复值表达式还是变量保存值? 求助:SQL语句写约束。 求SQL语句,关于两表合并 sql server 2008 peer-to-peer 复制,怎么样定时执行 一张大表分割成小表的问题 给力加分,怎样将in内条件写一个参数的动态的存储过程? Sql语句,求最后20条记录中某字段的平均值 请问谁能帮我把ACCESS升级到SQL请报价! 安装sp4时出现 运行脚本时出错:replsys.sql(1)????然后程序终止 触发器相关的问题,请教各路朋友 sql2008怎么查看日志啊 特别基础~关于包含查询求解~
declare @R float
set @R = 6378.137;
declare @lng float
declare @lat float
set @lng = 11.11111;
set @lat = 22.22222;
select * from gmap where @R*acos(cos(lng)*cos(@lng)*(lat-@lat)+sin(lng)*sin(@lng))*1000<=50--地球面2点间距离的公示
R·arc cos[cosβ1cosβ2cos(α1-α2)+sinβ1sinβ2]
这个数值是什么意思?
地球半径
我查到了,好像经纬度坐标必须为度,不能是google的这种格式