Fixed extended lat/lon bug and added radius, theta, phi

pull/1/head
Konstantin Gründger 2015-11-14 10:42:41 +01:00
rodzic 8820f59205
commit 3ee5ca9044
2 zmienionych plików z 9 dodań i 4 usunięć

Wyświetl plik

@ -27,6 +27,11 @@ class AircraftBeacon(Beacon):
flightlevel = Column(Float) flightlevel = Column(Float)
# Calculated values
radius = Column(Float)
theta = Column(Float)
phi = Column(Float)
# Pattern # Pattern
address_pattern = re.compile(r"id(\S{2})(\S{6})") address_pattern = re.compile(r"id(\S{2})(\S{6})")
climb_rate_pattern = re.compile(r"([\+\-]\d+)fpm") climb_rate_pattern = re.compile(r"([\+\-]\d+)fpm")
@ -100,8 +105,8 @@ class AircraftBeacon(Beacon):
elif error_count_match is not None: elif error_count_match is not None:
self.error_count = int(error_count_match.group(1)) self.error_count = int(error_count_match.group(1))
elif coordinates_extension_match is not None: elif coordinates_extension_match is not None:
dlat = int(coordinates_extension_match.group(1)) / 1000 dlat = int(coordinates_extension_match.group(1)) / 1000 / 60
dlon = int(coordinates_extension_match.group(2)) / 1000 dlon = int(coordinates_extension_match.group(2)) / 1000 / 60
self.latitude = self.latitude + dlat self.latitude = self.latitude + dlat
self.longitude = self.longitude + dlon self.longitude = self.longitude + dlon

Wyświetl plik

@ -36,8 +36,8 @@ class TestStringMethods(unittest.TestCase):
position = AircraftBeacon() position = AircraftBeacon()
position.parse("!W26! id21400EA9 -2454fpm +0.9rot 19.5dB 0e -6.6kHz gps1x1 s6.02 h44 rDF0C56") position.parse("!W26! id21400EA9 -2454fpm +0.9rot 19.5dB 0e -6.6kHz gps1x1 s6.02 h44 rDF0C56")
self.assertEqual(position.latitude, 0.002) self.assertEqual(position.latitude, 2 / 1000 / 60)
self.assertEqual(position.longitude, 0.006) self.assertEqual(position.longitude, 6 / 1000 / 60)
self.assertEqual(position.software_version, 6.02) self.assertEqual(position.software_version, 6.02)
self.assertEqual(position.hardware_version, 44) self.assertEqual(position.hardware_version, 44)
self.assertEqual(position.real_id, "DF0C56") self.assertEqual(position.real_id, "DF0C56")