package com.dcu.project.server;
importowy com.dcu.project.model.NMEAData;
importowy com.dcu.project.server. Tokenizer;
społeczeństwo klasowy Kierownik {
jawny NMEAData ParseData (Smyczkowy Dane)
{
NMEAData gpsData = nowy NMEAData ();
Tokenizer tokenizer = nowy Tokenizer (Dane);
Smyczkowy żeton = tokenizer.next ();
podczas gdy (token.endsWith ("$GPRMC") == fałszywy) {
żeton = tokenizer.next ();
}
jeżeli (token.endsWith ("$GPRMC")) {
// Czas dylemat
Smyczkowy theTime = tokenizer.next ();
Smyczkowy Godzina = theTime.substring ((0), 2);
Smyczkowy Minuta = theTime.substring (2, 4);
Smyczkowy Sekunda = theTime.substring (4, 6);
Smyczkowy newTime = (Hour+ ": " + Minutes + ": "+Seconds+" UTC");
// Szerokość
Smyczkowy Status = tokenizer.next ();
Smyczkowy raw_lat = tokenizer.next ();
Smyczkowy lat_deg = raw_lat.substring ((0), 2);
Smyczkowy lat_min1 = raw_lat.substring (2, 4);
Smyczkowy lat_min2 = raw_lat.substring (5);
Smyczkowy lat_min3 = "(0)." + lat_min1 + lat_min2;
dwoisty lat_dec = Float.parseFloat (lat_min3) /.6f;
dwoisty lat_val = Float.parseFloat (lat_deg) + lat_dec;
// Szerokość kierunek
Smyczkowy lat_direction = tokenizer.next ();
jeżeli (lat_direction == "S") {
lat_val = (lat_val * -1);
}
// Longitude
Smyczkowy raw_lon = tokenizer.next ();
Smyczkowy lon_deg = raw_lon.substring ((0), 3);
Smyczkowy lon_min1 = raw_lon.substring (3, 5);
Smyczkowy lon_min2 = raw_lon.substring (6);
Smyczkowy lon_min3 = "(0)." + lon_min1 + lon_min2;
dwoisty lon_dec = Float.parseFloat (lon_min3) /.6f;
dwoisty lon_val = Float.parseFloat (lon_deg) + lon_dec;
// Longitude kierunek
Smyczkowy lon_direction = tokenizer.next ();
jeżeli (lon_direction == "W")
{
lon_val = (lon_val * -1);
}
//Speed
Smyczkowy speedknots = tokenizer.next ();
dwoisty speed_knots = Float.parseFloat (speedknots);
dwoisty speedmpers = (speed_knots * 0.51);
//Course
Smyczkowy kurs = tokenizer.next ();
//Date
Smyczkowy theDate = tokenizer.next ();
Smyczkowy dzień = theDate.substring ((0), 2);
Smyczkowy miesiąc = theDate.substring (2, 4);
Smyczkowy rok = theDate.substring (4, 6);
Smyczkowy newDate = (day+ " - "+month+" - "+year);
gpsData.setTime (newTime);
gpsData.setDate (newDate);
gpsData.setLat (lat_val);
gpsData.setLongitude (lon_val);
gpsData.setSpeed (speedmpers);
gpsData.setCourse (kurs);
}
powrotny gpsData;
}
}
|