读书人

C++ 距离计算有关问题

发布时间: 2013-06-25 23:45:41 作者: rapoo

C++ 距离计算问题
根据两点的经纬度,计算两点间距离.

C++库中有做好的函数库吗?

在数据库中又怎么存储经纬度呢?

具体就是,给一经纬,计算附近已登录到的表一定距离的数据.

大家给点建议吧. C++ 行业数据
[解决办法]
好像没有相关的类库

http://yangtaixiao.blog.163.com/blog/static/4223544120126199457285/
http://blog.csdn.net/diligentcat/article/details/7597152
[解决办法]
这个网上有公式,需要由地球扁率等参数。一搜就知道了,很简单,经纬度存储用浮点数就可以
[解决办法]
按照球面算,公式大概是这样的吧:
theta 纬度,phi经度

x = r sin theta sin phi
y = r sin theta cos phi
z = r cos theta;
//两点之间的直线距离。
d = sqrt( (x1*x1 - x0*x0) + (y1*y1 - y0*y0) + (z1*z1 - z0*z0));
rad = 2* arccos (d/2/r);

ds1 =rad* r ;
ds2 =2 * pi *r - rad * r;

精确点,则要按照旋转椭球面计算。
大概方程如下 :
(x^2+ y^2)/a^2 + z^2 /c^2 =1;
可以按照,曲线积分求两点间的弧长。或者按照在截面上的位置求弧长。







[解决办法]
look at geos lib

读书人网 >C++

热点推荐