根据经纬度(lat,lng)查找附近的地点(续)
2016-09-20 12:17
525 查看
原文出处:http://blog.163.com/ezy_dk/blog/static/166651492201221445753585/
参考网文:附近地点搜索初探
下面给出自己总结的SQL代码
1、经度(Latitude), 东经为正数,西经为负数;
2、纬度(Longitude), 北纬为正数,南纬为负数;
附图:
参考网文:附近地点搜索初探
下面给出自己总结的SQL代码
declare @EARTH_RADIUS float set @EARTH_RADIUS = 6371000.00 --地球的半径 declare @lat float declare @lng float declare @dlng float declare @dlat float declare @distance int --距离 set @distance = 300 --300米 set @lat =xx.xxxxx --这个是中心地点 set @lng = xxx.xxxx --中心地点 set @dlng = 2 * asin(sin( @distance / (2 * @EARTH_RADIUS)) / cos(@lat)) set @dlng = degrees(@dlng) set @dlat = 300/@EARTH_RADIUS set @dlat = degrees(@dlat) declare @lng1 float declare @lng2 float declare @lat1 float declare @lat2 float set @lat1 = @lat-@dlat -- 西经 set @lat2 = @lat+@dlat -- 东经 set @lng1 = @lng-@dlng -- 南纬 set @lng2 = @lng+@dlng -- 北纬 select @lat1,@lat2,@lng1,@lng2 SELECT lat,lng FROM place WHERE (lat > @lat1 AND lat < @lat2) -- 经度范围 AND (lng > @lng1 AND lng < @lng2) -- 纬度范围常识:
1、经度(Latitude), 东经为正数,西经为负数;
2、纬度(Longitude), 北纬为正数,南纬为负数;
附图:
相关文章推荐
- GPS定位,根据经纬度查询附近地点的经纬度-sql方法实现
- PHP,Mysql-根据一个给定经纬度的点,进行附近地点查询
- Java,Mysql-根据一个给定经纬度的点,进行附近500米地点查询–合理利用算法
- Java,Mysql-根据一个给定经纬度的点,进行附近500米地点查询–合理利用算法
- PHP,Mysql-根据一个给定经纬度的点,进行附近地点查询–算法
- 根据经纬度查找附近的人计算公式
- Java,Mysql-根据一个给定经纬度的点,进行附近500米地点查询–合理利用算法
- 在数据库中根据经纬度查找数据中所有附近的经纬度点
- PHP,Mysql-根据一个给定经纬度的点,进行附近地点查询–合理利用算法,
- Java,Mysql-根据一个给定经纬度的点,进行附近500米地点查询–合理利用算法
- 根据一个给定经纬度的点,进行附近地点查询
- Java进阶(五十)根据一个给定经纬度的点,进行附近500米地点查询–合理利用算法
- 在数据库中根据经纬度查找数据中所有附近的经纬度点
- Java,Mysql-根据一个给定经纬度的点,进行附近500米地点查询–合理利用算法
- PHP,Mysql-根据一个给定经纬度的点,进行附近地点查询
- PHP,Mysql-根据一个给定经纬度的点,进行附近地点查询
- 根据一个给定经纬度的点,进行附近500米地点查询–合理利用算法
- PHP,Mysql-根据一个给定经纬度的点,进行附近地点查询–合理利用算法
- 根据一个给定经纬度的点,进行附近地点查询
- PHP,Mysql-根据一个给定经纬度的点,进行附近地点查询–合理利用算法,效率提高2125倍