huang137 发表于 2012-2-1 03:20:23

谁有单片机能执行的GPS两点距离与夹角计算的函数呀

小弟要做个东西,需要计算出精度比较高的两点GSP坐标的相对距离和夹角,谁能帮我一下呀,要求单片机能执行的源码,谢谢

xzyang 发表于 2012-2-1 08:29:59

//已经两点的经纬度求解两点的距离
#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 ;               
}

dapenti 发表于 2012-2-1 09:04:31

参考这里的程序
http://www.maartenlamers.com/nmea/

lkdpuvi 发表于 2012-2-1 11:01:04

回复【楼主位】huang137
-----------------------------------------------------------------------

对这个问题,以及上面的回复我应该说些什么呢,只能说是太失望了!!

首先说:
需要计算出精度比较高的两点GSP坐标的相对距离和夹角,
我不能说用单片机不行,只能说用单片机进行计算,24小时里最多能出来一次误差很大的结果!!!
所以说用单片机来实现,怕是实际意义不大,相信这不是你想要的结果。

再有对前几楼的回复,按这些办法,这辈子也做不来精度比较高的结果。

要实现楼主要求的功能:需要用到差分定位。需要对最原始的测量数据--载波相位,进行计算,
期间还涉及卫星位置计算,载波相位值的插补,解超正定方程,坐标变换,周整模糊度计算,
可能还要用到卡尔曼滤波(根据算法的选择),这里面的计算大部分是矩阵,浮点运算,单片机是无法完成这些
计算量的。

目前市场有相关产品,售价有2K的(精度不高),也有上万的,甚至上百万(用来做精密测量,精度可以达到毫米级)

你要真想做的话,可以联系我,源代码也可以给你(看你出多少钱了。。),

nil0 发表于 2012-2-1 11:03:10

mark!

mfkqqw 发表于 2012-2-1 11:31:16

mark!

huang137 发表于 2012-2-1 12:55:05

我需要测量的访问在30公里以内,距离精度达到10米以内就可以了,方位精度在2°以内,这个要求单片机还是能做到吧
1楼的朋友,你这个函数带入的经纬度坐标是GPS原始格式5205.9421,N,00506.4368,E还是需要吧这个转换成度分秒格式,还有AB两点求夹角的函数吗,谢谢

xzyang 发表于 2012-2-1 13:39:41

回复【6楼】huang137
我需要测量的访问在30公里以内,距离精度达到10米以内就可以了,方位精度在2°以内,这个要求单片机还是能做到吧
1楼的朋友,你这个函数带入的经纬度坐标是gps原始格式5205.9421,n,00506.4368,e还是需要吧这个转换成度分秒格式,还有ab两点求夹角的函数吗,谢谢
-----------------------------------------------------------------------

是的,要转换成弧度。

kiema 发表于 2012-2-3 23:58:55

Mark

dianzi_zhong 发表于 2012-2-4 22:12:17

换个思路计算GPS两点距离与夹角计算的函数,会有收获

已知地球上两点经纬度求距离及方位角ourdev_716093WP5EK4.xls(文件大小:26K) (原文件名:已知地球上两点经纬度求距离及方位角.xls)

kiema 发表于 2012-2-7 02:35:32

mark

tirion 发表于 2012-2-8 16:44:52

mark

zhaofeng2008 发表于 2012-2-9 10:39:49

学习了。正用的上。。。感谢
页: [1]
查看完整版本: 谁有单片机能执行的GPS两点距离与夹角计算的函数呀