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

金陵小周的技术博客 2008-12-22 05:03:04
加精
在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);
}
我想问的是当前经纬度坐标点它本身是没有方向的,我跟我客户那边讨论的时候,他说在进行坐标系转换的时候就可以求出方向了,是这样吗?
他说的这样个坐标系是还是直角坐标系? 如何求方向,请给出思路谢谢了!!!!!
在线急等!!!
...全文
1066 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
dlham 2011-04-23
  • 打赏
  • 举报
回复
学习,我刚好要用到显示方位 的
wilson135 2010-11-18
  • 打赏
  • 举报
回复
进来学习
mojieke 2010-08-31
  • 打赏
  • 举报
回复
学习一下
  • 打赏
  • 举报
回复
我明白了.谢谢你了!
hxcy001 2009-01-24
  • 打赏
  • 举报
回复
微软例程中,有个GpsPosition.Heading,表示的就是角度,0表示北
/// <summary>
/// Degrees heading (course made good). True North=0
/// </summary>
public float Heading
{
get { return flHeading; }
}
正南、正北等方向是不是就可以直接得到了?
derelictangel 2009-01-04
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 hahaomi23 的回复:]
方向计算好像很复杂的
我是想根据计算出来的数据 在我想要的界面上输出正南 正北 正东 正西 偏东北 偏东南 偏西北 偏西南
可以做到吗???
[/Quote]

PS:
我的目标是 ---->

^_^
ssyg001 2009-01-01
  • 打赏
  • 举报
回复
学习
cihongwei2008 2009-01-01
  • 打赏
  • 举报
回复
学习一下
eva666666 2009-01-01
  • 打赏
  • 举报
回复
http://www.189qq.cn/soft?35513.htm
老顾客了!照顾一下!
文斌 2008-12-31
  • 打赏
  • 举报
回复
取到GPS_POSITION,里面的详细信息MSDN里写得非常清楚了

如果是从串口直接读出来的GPS数据,那就要根据NMEA协议自己解析了.
  • 打赏
  • 举报
回复
有高手请帮助解答一下
liberpc 2008-12-31
  • 打赏
  • 举报
回复
了解学习先
  • 打赏
  • 举报
回复
有谁能帮我看一下下面的这些参数都是代表什么??
typedef struct _GPS_POSITION {
DWORD dwVersion;
DWORD dwSize;

DWORD dwValidFields;

DWORD dwFlags;

SYSTEMTIME stUTCTime;

double dblLatitude;
double dblLongitude;
float flSpeed;
float flHeading;
double dblMagneticVariation;
float flAltitudeWRTSeaLevel;
float flAltitudeWRTEllipsoid;

GPS_FIX_QUALITY FixQuality;
GPS_FIX_TYPE FixType;
GPS_FIX_SELECTION SelectionType;
float flPositionDilutionOfPrecision;
float flHorizontalDilutionOfPrecision;
float flVerticalDilutionOfPrecision;

DWORD dwSatelliteCount;
DWORD rgdwSatellitesUsedPRNs[GPS_MAX_SATELLITES];

DWORD dwSatellitesInView;
DWORD rgdwSatellitesInViewPRNs[GPS_MAX_SATELLITES];
DWORD rgdwSatellitesInViewElevation[GPS_MAX_SATELLITES];
DWORD rgdwSatellitesInViewAzimuth[GPS_MAX_SATELLITES];
DWORD rgdwSatellitesInViewSignalToNoiseRatio[GPS_MAX_SATELLITES];
} GPS_POSITION, *PGPS_POSITION;

此结构体是wm5.0中GPS例子的内容 GPS_POSITION
我看到那个例子中把GPS休息都到这个GPS_POSTITON里面来了,能否帮我看一下,其中这些参数都代表什么意思吗?
xqhrs232 2008-12-30
  • 打赏
  • 举报
回复
学习一下
  • 打赏
  • 举报
回复
如果说,我要获取其中的GPS连接状态和GPS定位状态
就是下面这种格式的
GPS定位状态: 0=未定位,1=非差分定位,2=差分定位,3=无效PPS,6=正在估算
GPS连接状态: A=自动手动2D/3D,M=手动2D/3D
该如何获取呢?

希望给予解答!
Parado 2008-12-30
  • 打赏
  • 举报
回复
好东西!
  • 打赏
  • 举报
回复
如果说,我要获取其中的GPS连接状态和GPS定位状态
就是下面这种格式的
GPS定位状态: 0=未定位,1=非差分定位,2=差分定位,3=无效PPS,6=正在估算
GPS连接状态: A=自动手动2D/3D,M=手动2D/3D
该如何获取呢?
colla13141314 2008-12-30
  • 打赏
  • 举报
回复
这个我也一直有疑问的 希望大家能认真回答 我也很想知道 为什么?
j348529181 2008-12-30
  • 打赏
  • 举报
回复
,(1),(2),(3),(4),(5),(6),(7),…(4),(5),(6),(7)*hh(CR)(LF)
beyondma 2008-12-30
  • 打赏
  • 举报
回复
double dblLatitude;经度
double dblLongitude;纬度
float flSpeed;速度
float flHeading; 方向,
GPS_FIX_TYPE FixType; 有效性。
这几个主要,
加载更多回复(16)

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧