Source code for gps_api.position

import pynmea2

[docs]class Position: """ position class, used to store latitude, longitude and altitude. get_latitude, get_longitude and get_current_location methods """ def __init__(self): # initialisation of variables self.latitude = "" self.longitude = "" self.altitude = "" self.location = "" self.time = "" self.date = "" self.speed = ""
[docs] def update(self, nmea_msg): """ update the position's attributes with the NMEA message :param nmea_msg: The raw NMEA message to be parsed """ if "GPGGA" in nmea_msg: msg = pynmea2.parse(nmea_msg) self.latitude = msg.latitude self.longitude = msg.longitude self.altitude = msg.altitude elif "GPRMC" in nmea_msg: msg = pynmea2.parse(nmea_msg) self.time = msg.timestamp self.date = msg.datestamp elif "GPVTG" in nmea_msg: msg = pynmea2.parse(nmea_msg) self.speed = msg.spd_over_grnd_kmph
[docs] def get_latitude(self): """ get latitude at current position :return: current latitude value """ return self.latitude
[docs] def get_longitude(self): """ get longitude at current position :return: current longitude value """ return self.longitude
[docs] def get_altitude(self): """ get altitude at current position :return: current altitude value """ return self.altitude
[docs] def get_current_location(self): """ get location of current position :return: current location in the form of (latitude, longitude) """ location = (self.latitude, self.longitude) return location
[docs] def get_UTC_time(self): """ get UTC time at current position :return: current UTC time value """ return self.time
[docs] def get_date(self): """ get UTC date at current position :return: current UTC date value """ return self.date
[docs] def get_speed(self): """ get current speed over ground :return: current speed in km/h """ return self.speed