谁有单片机能执行的GPS两点距离与夹角计算的函数呀
小弟要做个东西,需要计算出精度比较高的两点GSP坐标的相对距离和夹角,谁能帮我一下呀,要求单片机能执行的源码,谢谢 //已经两点的经纬度求解两点的距离#define PI 3.1415926535898
#define EARTHR 6371004
double DistanceCal(float LatFrom,float LonFrom,float LatTo,float LonTo)
{
double LatFrom1,LonFrom1,LatTo1,LonTo1,LonDiff;
double Temp1,Temp2,Temp3;
double Distance;
LatFrom1=LatFrom*PI/180;
LonFrom1=LonFrom*PI/180;
LatTo1=LatTo*PI/180;
LonTo1=LonTo*PI/180;
LonDiff=LonTo1-LonFrom1;
Temp1=cos(LatTo1)*sin(LonDiff);
Temp1=Temp1*Temp1;
Temp2=cos(LatFrom1)*sin(LatTo1)-sin(LatFrom1)*cos(LatTo1)*cos(LonDiff);
Temp2=Temp2*Temp2;
Temp3=sin(LatFrom1)*sin(LatTo1)+cos(LatFrom1)*cos(LatTo1)*cos(LonDiff);
Distance=atan(sqrt(Temp1+Temp2)/Temp3);
Distance=EARTHR*Distance;
return Distance ;
} 参考这里的程序
http://www.maartenlamers.com/nmea/ 回复【楼主位】huang137
-----------------------------------------------------------------------
对这个问题,以及上面的回复我应该说些什么呢,只能说是太失望了!!
首先说:
需要计算出精度比较高的两点GSP坐标的相对距离和夹角,
我不能说用单片机不行,只能说用单片机进行计算,24小时里最多能出来一次误差很大的结果!!!
所以说用单片机来实现,怕是实际意义不大,相信这不是你想要的结果。
再有对前几楼的回复,按这些办法,这辈子也做不来精度比较高的结果。
要实现楼主要求的功能:需要用到差分定位。需要对最原始的测量数据--载波相位,进行计算,
期间还涉及卫星位置计算,载波相位值的插补,解超正定方程,坐标变换,周整模糊度计算,
可能还要用到卡尔曼滤波(根据算法的选择),这里面的计算大部分是矩阵,浮点运算,单片机是无法完成这些
计算量的。
目前市场有相关产品,售价有2K的(精度不高),也有上万的,甚至上百万(用来做精密测量,精度可以达到毫米级)
你要真想做的话,可以联系我,源代码也可以给你(看你出多少钱了。。), mark! mark! 我需要测量的访问在30公里以内,距离精度达到10米以内就可以了,方位精度在2°以内,这个要求单片机还是能做到吧
1楼的朋友,你这个函数带入的经纬度坐标是GPS原始格式5205.9421,N,00506.4368,E还是需要吧这个转换成度分秒格式,还有AB两点求夹角的函数吗,谢谢 回复【6楼】huang137
我需要测量的访问在30公里以内,距离精度达到10米以内就可以了,方位精度在2°以内,这个要求单片机还是能做到吧
1楼的朋友,你这个函数带入的经纬度坐标是gps原始格式5205.9421,n,00506.4368,e还是需要吧这个转换成度分秒格式,还有ab两点求夹角的函数吗,谢谢
-----------------------------------------------------------------------
是的,要转换成弧度。 Mark 换个思路计算GPS两点距离与夹角计算的函数,会有收获
已知地球上两点经纬度求距离及方位角ourdev_716093WP5EK4.xls(文件大小:26K) (原文件名:已知地球上两点经纬度求距离及方位角.xls) mark mark 学习了。正用的上。。。感谢
页:
[1]