C#解析gpgga数据
时间: 2023-07-12 20:05:24 浏览: 133
GPGGA格式 解析以及代码
4星 · 用户满意度95%
在C#中解析GPGGA数据可以使用以下代码:
```csharp
string gpgga = "$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47";
string[] data = gpgga.Split(',');
if (data[0] == "$GPGGA" && data.Length == 15)
{
// UTC 时间
string utcTime = data[1];
// 纬度
double latitude = double.Parse(data[2]);
// 纬度方向
string latDirection = data[3];
// 经度
double longitude = double.Parse(data[4]);
// 经度方向
string longDirection = data[5];
// 定位质量指示(0=无效定位,1=单点定位,2=差分定位,6=正在估算)
int quality = int.Parse(data[6]);
// 使用卫星数量
int satellites = int.Parse(data[7]);
// 水平精度因子
double hdop = double.Parse(data[8]);
// 海拔高度
double altitude = double.Parse(data[9]);
// 海拔高度单位(米)
string altitudeUnit = data[10];
// 大地水准面高度
double geoidalHeight = double.Parse(data[11]);
// 大地水准面高度单位(米)
string geoidalHeightUnit = data[12];
// 差分 GPS 数据期限(RTCM SC-104)
string dgpsAge = data[13];
// 差分参考基站标号
string dgpsStationId = data[14];
}
```
以上代码假设GPGGA数据已经存储在字符串变量 `gpgga` 中,然后使用 `Split()` 方法将其按照逗号分隔成字符串数组 `data`。最后,根据GPGGA协议的规定,解析出其中的各个字段。
阅读全文