锁定老帖子 主题:关于经纬度算法。急求
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-03-05
我的数据库里有N多个地点的数据。有相对应的经纬度。数据格式如下: 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-03-05
有个思路:
想象地球是一个绝对圆球体,那么对于某个经纬度,也就是球上面的一个点,要求该点一公里内的经纬度,就是求另外一点离这点之间的距离小于一公里。 这个模型就是在求球面上两点之间的距离了。然后百度一下计算公式就好了。 |
|
返回顶楼 | |
发表时间:2012-03-06
使用mongodb吧,里面有你需要的功能
|
|
返回顶楼 | |
发表时间:2012-03-06
最后修改:2012-03-06
|
|
返回顶楼 | |
发表时间:2012-03-06
转成墨卡托坐标在转回来算了
|
|
返回顶楼 | |
发表时间:2012-03-06
如果不需要精确,可以找到一个固定的大概参数 x度/米,剩下的你该明白了,将距离换算成度,按照平面方式求解。
|
|
返回顶楼 | |
发表时间:2012-03-06
select * from AAA
where ((111120 * 57.295781) * Math.Acos((Math.Sin(dLatitude*0.017453292) * Math.Sin(31.78888*0.017453292)) + ((Math.Cos(dLatitude*0.017453292) * Math.Cos(31.78888*0.017453292)) * Math.Cos(73.33333 - dLongitude))))<1000; 大概是这个意思,如果写个function应该更方便 |
|
返回顶楼 | |
发表时间:2012-03-07
jts
|
|
返回顶楼 | |
发表时间:2012-03-07
按照平面算的
|
|
返回顶楼 | |
发表时间:2012-03-07
最简单的办法其实就是±1公里的方法获取一个正方形就可以了,没有必要非要是个圆
经纬度和公里数有换算的方法,最明显的是google地图。小数点后第二位就是公里 |
|
返回顶楼 | |