C#实现gpgga解析
时间: 2023-11-22 18:34:49 浏览: 76
GGA数据解析源码
GPGGA是GPS模块输出的一种数据格式,包含了GPS模块当前的位置、时间、定位质量等信息。以下是使用C#语言解析GPGGA数据的示例代码:
```csharp
string gpgga = "$GPGGA,123519,4807.038,N,01131.000,E,1,8,0.9,545.4,M,46.9,M,,*47";
string[] fields = gpgga.Split(',');
if (fields[0] == "$GPGGA")
{
DateTime timestamp = DateTime.ParseExact(fields[1], "HHmmss", null);
double latitude = double.Parse(fields[2]) / 100 + double.Parse(fields[3]) / 60;
if (fields[4] == "S") latitude = -latitude;
double longitude = double.Parse(fields[5]) / 100 + double.Parse(fields[6]) / 60;
if (fields[7] == "W") longitude = -longitude;
int quality = int.Parse(fields[6]);
int satellites = int.Parse(fields[7]);
double hdop = double.Parse(fields[8]);
double altitude = double.Parse(fields[9]);
string altitudeUnit = fields[10];
double geoidSeparation = double.Parse(fields[11]);
string geoidSeparationUnit = fields[12];
}
```
以上代码中,首先将GPGGA数据按逗号分隔成一个字符串数组,然后根据GPGGA数据格式中各个字段的含义进行解析,包括时间戳、纬度、经度、定位质量、卫星数、水平精度因子、海拔高度、海拔高度单位、大地高度、大地高度单位。最终将这些解析出来的数据存储在相应的变量中,供后续程序使用。
阅读全文