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)
|
||||
|
||||
# Calculated values
|
||||
radius = Column(Float)
|
||||
theta = Column(Float)
|
||||
phi = Column(Float)
|
||||
|
||||
# Pattern
|
||||
address_pattern = re.compile(r"id(\S{2})(\S{6})")
|
||||
climb_rate_pattern = re.compile(r"([\+\-]\d+)fpm")
|
||||
|
@ -100,8 +105,8 @@ class AircraftBeacon(Beacon):
|
|||
elif error_count_match is not None:
|
||||
self.error_count = int(error_count_match.group(1))
|
||||
elif coordinates_extension_match is not None:
|
||||
dlat = int(coordinates_extension_match.group(1)) / 1000
|
||||
dlon = int(coordinates_extension_match.group(2)) / 1000
|
||||
dlat = int(coordinates_extension_match.group(1)) / 1000 / 60
|
||||
dlon = int(coordinates_extension_match.group(2)) / 1000 / 60
|
||||
|
||||
self.latitude = self.latitude + dlat
|
||||
self.longitude = self.longitude + dlon
|
||||
|
|
|
@ -36,8 +36,8 @@ class TestStringMethods(unittest.TestCase):
|
|||
position = AircraftBeacon()
|
||||
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.longitude, 0.006)
|
||||
self.assertEqual(position.latitude, 2 / 1000 / 60)
|
||||
self.assertEqual(position.longitude, 6 / 1000 / 60)
|
||||
self.assertEqual(position.software_version, 6.02)
|
||||
self.assertEqual(position.hardware_version, 44)
|
||||
self.assertEqual(position.real_id, "DF0C56")
|
||||
|
|
Ładowanie…
Reference in New Issue