Files
pyModeS/run.py
2015-03-19 14:06:01 +01:00

39 lines
1.1 KiB
Python

import decoder
import re
with open('data.txt', 'r') as f:
lines = f.readlines()
for line in lines:
m = re.search('^(\d+\-\d+\-\d+T\d+\:\d+\:\d+\.\d+)\s*(\S*).*$', line)
time = m.group(1)
msg = m.group(2)
df = decoder.get_df(msg)
tc = decoder.get_tc(msg)
ca = decoder.get_ca(msg)
if df==17:
addr = decoder.get_icao_addr(msg)
if tc>=1 and tc<=4:
# aircraft identification
callsign = decoder.get_callsign(msg)
print msg, '->', 'ID:', callsign
elif tc>=9 and tc<=18:
# airbone postion frame
alt = decoder.get_alt(msg)
oe = decoder.get_oe_flag(msg) # odd or even frame
# cprlat = decoder.get_cprlat(msg)
# cprlon = decoder.get_cprlon(msg)
print msg, '->', 'CPR odd frame' if oe else 'CPR even frame'
elif tc==19:
# airbone velocity frame
sh = decoder.get_speed_heading(msg)
print msg, '->', 'Speed:', sh[0], 'Heading:', sh[1]
else:
print df
pass