kopia lustrzana https://github.com/glidernet/ogn-python
Fixed extended lat/lon bug and added radius, theta, phi
rodzic
8820f59205
commit
3ee5ca9044
|
@ -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
|
||||||
|
|
|
@ -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")
|
||||||
|
|
Ładowanie…
Reference in New Issue