lang02-7 发表于 2014-7-4 16:37:17

MTK的60D平台,根据两个点的GPS经纬度,测算距离的问题

如题所示,函数用的数据类型基本都是double的,函数本身应该没什么问题,我在计算机的VC能实现,但在这里,总是不行,大致是这样的:
double D=0;
double t1={0};
double t2={0};
BLHtoXYZ(toRadiu(38.062085),toRadiu(114.370834),0,&t1,&t1,&t1,BJ54_A,BJ54_B);
BLHtoXYZ(toRadiu(38.061879),toRadiu(114.377509),0,&t2,&t2,&t2,BJ54_A,BJ54_B);
D=GetDistance(t1,t2);
在输出D的时候,总是不对,我以为是输出的问题,尝试了输出int、floating、double或者转化成字符串再输出,结果都不对,这个经纬度本应输出600多米的距离,结果总是输出1.0或1,请教大家一下,这是怎么回事呀,折腾了一下午,也没解决!谢谢

lang02-7 发表于 2014-7-4 17:02:06

是因为double类型吗?

bitter 发表于 2014-7-4 22:56:41

那个应该是弧度而不是度吧。

180=pai

lang02-7 发表于 2014-7-7 13:15:34

bitter 发表于 2014-7-4 22:56
那个应该是弧度而不是度吧。

180=pai

哪个呀,

lang02-7 发表于 2014-7-7 14:37:30

是因为不能处理6位或以上位数的小数吗?怎么弄也是不对的

lang02-7 发表于 2014-7-8 16:45:09

这个问题终于解决了,太RZ,头文件包含,没添加math.h,MTK平台的编译器不会报错,所以到现在才找到原因,希望大家引以为鉴、

macaroni 发表于 2014-7-8 16:57:06

十进制要不要转化成60进制?

lang02-7 发表于 2014-7-17 17:55:28

macaroni 发表于 2014-7-8 16:57
十进制要不要转化成60进制?

60进制?有60进制吗?
不用呀,只要长度正确就行

macaroni 发表于 2014-7-18 09:00:23

lang02-7 发表于 2014-7-17 17:55
60进制?有60进制吗?
不用呀,只要长度正确就行

我记着以前使用UBLOX的器件,输出字符串表达的经纬度的时候需要将十进制浮点型转换到60进制经纬度的,比如20’59“59"来表示,可能机制不太一样吧。
页: [1]
查看完整版本: MTK的60D平台,根据两个点的GPS经纬度,测算距离的问题