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