编辑: QQ215851406 2017-08-28

6 和字段

11 来判断,当字段

6 为2且字段

11 不为 空时表示是差分输出. www.topsemic.com 平时不接入差分时,字段

6 可能是

1 或者 2,2 表示 SBAS 定位.但是字段

11 是没有数值的. 6. 如何在 Google Earth 显示运动轨迹 将GPS 产生的数据, 导入到 Google Earth 中查看运动轨迹是比较直观的一种 方式.具体步骤如下: 1)将GPS 模块串口输出的 NEMA-0183 格式数据保存为一份 txt 文件 2)安装 GPSBabel 软件和 Google Earth 软件,百度网盘下载链接: 链接:https://pan.baidu.com/s/1kL2PsiY0czGVwNCmESEk8w 提取码:7mzl 3)打开 GPSBabel 软件,gpsbabelfe.exe 4)打开 Google Earth 软件, 选择文件-打开-打开第二步生成的 kml 格式文件 这时就会在软件里显示轨迹出来 www.topsemic.com 如果需要修改线条颜色、宽度,图标的形状、颜色等属性,修改方式如下: www.topsemic.com www.topsemic.com 另外点击工具-标尺还可以测距 www.topsemic.com 7. 如何根据经纬度求距离 已知两个点的经纬度,距离如何计算呢? 纬线定义为地球表面某点随地球自转所形成的轨迹. 任何一根纬线都是圆形而且 两两平行.纬线的长度是赤道的周长乘以纬线的纬度的余弦,所以赤道最长,离 赤道越远的纬线, 周长越短, 到了两极就缩为 0. 从赤道向北和向南, 各分 90°, 经线定义为地球表面连接南北两极的大圆线上的半圆弧. 任两根经线的长度相等, 相交于南北两极点.每一根经线都有其相对应的数值,东西各 180°. 经线上纬度每差一度可以有一个确定的值,然而,因为纬线圈的长度随着纬度的 改变而改变,不能单纯的计算每个单位经度上距离的一个确定值. 已知两点经纬度,其距离计算公式如下: Lat、 Lung1 表示 A 点经纬度,Lat

2、 Lung2 表示 B 点经纬度,这里的单位是 弧度而不是角度,同时注意有正负;

www.topsemic.com a=Lat1C Lat2 为两点纬度之差 b=Lung1 -Lung2 为两点经度之差;

6378.137 为地球半径,单位为千米;

公式具体推导可参考: https://www.cnblogs.com/softfair/p/distance_of_two_latitude_and_longitude_points.h tml 看看还是比较有意思的,顺便复习下高中学习的三角函数知识. 另外下述网址也可以计算两点距离: http://www.storyday.com/wp-content/uploads/2008/09/latlung_dis.html 附上 C 语言代码 main.c 示例: #include #include const double PI = acos(-1.0);

const double EARTH_RADIUS = 6378.137;

// km static double rad(double d) { return d * PI / 180.0;

} // km double GetDistance(double lat1, double lng1, double lat2, double lng2) { double radLat1 = rad(lat1);

double radLat2 = rad(lat2);

double a = radLat1 - radLat2;

double b = rad(lng1) - rad(lng2);

double s =

2 * asin(sqrt(pow(sin(a/2),2) + cos(radLat1)*cos(radLat2)*pow(sin(b/2),2)))* EARTH_RADIUS;

//s = (double)((long int)(s *

10000 + 0.5))/10000;

// 四舍五入,保 留小数点后

4 位,即精确到 0.1m return s;

} int main( ) { double distance;

www.topsemic.com printf("Hello Friend\r\n");

double lat1=40.017621,lng1=116.346346,lat2=40.014331,lng2= 116.348446;

distance= GetDistance(lat1, lng1, lat2, lng2);

printf("Distance=%f\r\n",distance);

return 0;

} 感兴趣的童鞋可以实际运行程序和上述的网页版计算结果对比一下.

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题