mirror of
https://github.com/dotMorten/NmeaParser.git
synced 2026-04-07 15:34:26 +00:00
Refactor lat/long parsing
This commit is contained in:
parent
189b10d376
commit
9663da9cf2
3 changed files with 28 additions and 12 deletions
|
|
@ -45,12 +45,8 @@ namespace NmeaParser.Nmea.Gps
|
|||
protected override void LoadMessage(string[] message)
|
||||
{
|
||||
var time = message[0];
|
||||
Latitude = int.Parse(message[1].Substring(0, 2), CultureInfo.InvariantCulture) + double.Parse(message[1].Substring(2), CultureInfo.InvariantCulture) / 60;
|
||||
if (message[2] == "S")
|
||||
Latitude *= -1;
|
||||
Longitude = int.Parse(message[3].Substring(0, 3), CultureInfo.InvariantCulture) + double.Parse(message[3].Substring(3), CultureInfo.InvariantCulture) / 60;
|
||||
if (message[4] == "W")
|
||||
Longitude *= -1;
|
||||
Latitude = NmeaMessage.StringToLatitude(message[1], message[2]);
|
||||
Longitude = NmeaMessage.StringToLongitude(message[3], message[4]);
|
||||
Quality = (FixQuality)int.Parse(message[5], CultureInfo.InvariantCulture);
|
||||
NumberOfSatellites = int.Parse(message[6], CultureInfo.InvariantCulture);
|
||||
Hdop = double.Parse(message[7], CultureInfo.InvariantCulture);
|
||||
|
|
|
|||
|
|
@ -38,12 +38,8 @@ namespace NmeaParser.Nmea.Gps
|
|||
int.Parse(message[0].Substring(2, 2)),
|
||||
int.Parse(message[0].Substring(4, 2)), DateTimeKind.Utc);
|
||||
Active = (message[1] == "A");
|
||||
Latitude = int.Parse(message[2].Substring(0, 2), CultureInfo.InvariantCulture) + double.Parse(message[2].Substring(2), CultureInfo.InvariantCulture) / 60;
|
||||
if (message[3] == "S")
|
||||
Latitude *= -1;
|
||||
Longitude = int.Parse(message[4].Substring(0, 3), CultureInfo.InvariantCulture) + double.Parse(message[4].Substring(3), CultureInfo.InvariantCulture) / 60;
|
||||
if (message[5] == "W")
|
||||
Longitude *= -1;
|
||||
Latitude = NmeaMessage.StringToLatitude(message[2], message[3]);
|
||||
Longitude = NmeaMessage.StringToLongitude(message[4], message[5]);
|
||||
Speed = double.Parse(message[6], CultureInfo.InvariantCulture);
|
||||
Course = double.Parse(message[7], CultureInfo.InvariantCulture);
|
||||
MagneticVariation = double.Parse(message[9], CultureInfo.InvariantCulture);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue