3342|4

71

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

(C#版本)wm5.0的GPS问题,如何将GPS例子中添加海拔和方向的参数? [复制链接]

在windowsMobile5.0中的有一个GPS的例子我看过。(它是通过GPSapi.dll这个文件进行抓取GSP数据的)
现在我已经将那个例子拷到我现在的项目中去了,我想是在原有的基础上添加这样几个参数(海拔、方向、GSP的连接状态和定位状态)
不知道可以吗?
我在GpsPosition类中发现有这样几个成员
internal static int GPS_VALID_ALTITUDE_WRT_SEA_LEVEL = 0x00000040;
internal static int GPS_VALID_ALTITUDE_WRT_ELLIPSOID = 0x00000080;
internal float flAltitudeWRTSeaLevel = 0.0f;  // Altitute with regards to sea level, in meters
internal float flAltitudeWRTEllipsoid = 0.0f; // Altitude with regards to ellipsoid, in meters

这几个成员是否是海拔呢?我可以直接拿过来用吗?如果需要转换,又如何转换?

GPS的连接状态能在这个GpsPosition类中的成员里面体现出来吗?
如果能体现再来哪个成员,如何用?(NMEA协议我看过知道一点点)

GPS的定位状态也是同上?


最后一个问题是方向
我可以得到当前经纬度的坐标 我看到坐标是通过这样的方式来转换的
在GpsPosition类中
//纬度坐标
public double Latitude
{
  get { return ParseDegreesMinutesSeconds(dblLatitude).ToDecimalDegrees(); }
}
所涉及的方法
//在GpsPosition类中
private DegreesMinutesSeconds ParseDegreesMinutesSeconds(double val)
{
            double degrees = (val / 100.0);
            double minutes = (Math.Abs(degrees) - Math.Abs((double)(int)(degrees))) * 100;
            double seconds = (Math.Abs(val) - Math.Abs((double)(int)val)) * 60.0;
            return new DegreesMinutesSeconds((int)degrees, (int)minutes, seconds);
}
//此方法在DegreesMinutesSeconds类中
public double ToDecimalDegrees()
{
            int absDegrees = Math.Abs(degrees);

            double val = (double)absDegrees + ((double)minutes / 60.0) + ((double)seconds / 3600.0);

            return val * (absDegrees / degrees);
}
我想问的是当前经纬度坐标点它本身是没有方向的,我跟我客户那边讨论的时候,他说在进行坐标系转换的时候就可以求出方向了,是这样吗?
他说的这样个坐标系是还是直角坐标系? 如何求方向,请给出思路谢谢了!!!!!
在线急等!!!

最新回复

对,是的。我看到它在invoke了之后,才把gps_position得到的。 好的,谢谢了,不过方向 以我个人理解 是不是Heading==0的话就是北(//True North=0),否则就是一个角度 然后再根据这个角度把正南 正北 正东 正西  偏东北 偏东南  偏西北 偏西南 的方向求出来呢??   详情 回复 发表于 2008-12-23 16:28
点赞 关注

回复
举报

79

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
没有人知道吗???
我自己顶一下!
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
建议你还是去看看WIN32API中对GPS的操作理解会更深。在CE中你不需要对NMEA有多少了解,由系统解析你要做的就是调API。高度这个参数应该是提供的。GPS_POSITION这个结构(这个例子当中肯定会封装)当中有你所要的除方向之外的状态。方向也会传过来,不过很不准。
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

4
 
GPSGetPosition他肯定是INVOKE了这个API,然后把GPS_POSITION得到。
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

5
 
对,是的。我看到它在invoke了之后,才把gps_position得到的。
好的,谢谢了,不过方向 以我个人理解 是不是Heading==0的话就是北(//True North=0),否则就是一个角度
然后再根据这个角度把正南 正北 正东 正西  偏东北 偏东南  偏西北 偏西南 的方向求出来呢??

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表