01234567890123456789012345678901234567890123456789012345678901234567890123456789
149114921493149414951496149714981499150015011502150315041505150615071508150915101511 1512151315141515151615171518151915201521152215231524152515261527152815291530153115321533 | <----SKIPPED LINES----> json_desc_dict = {} json_desc_dict['now'] = parsed['now'] aircraft = [a for a in parsed['aircraft'] if a['seen'] < PERSISTENCE_SECONDS] json_desc_dict['radio_range_flights'] = len(aircraft) aircraft_with_pos = [a for a in aircraft if 'lat' in a and 'lon' in a] current_distances = [HaversineDistanceMeters( HOME, (a['lat'], a['lon'])) for a in aircraft_with_pos] current_distances = [ d * FEET_IN_METER / FEET_IN_MILE for d in current_distances if d is not None] if current_distances: json_desc_dict['radio_range_miles'] = max(current_distances) return json_desc_dict def SameFlight(f1, f2): """True if these two flights are likely the same flight, False otherwise.""" if f1['flight_number'] == f2['flight_number']: return True if f1['squawk'] == f2['squawk']: return True return False def MergedIdentifier(proposed_id, existing_ids): """Identifies what identifier to use for a flight. While most flights have both a squawk and a flight number, enough are missing one only for it to appear later to want to use a 2-tuple of both as an identifier, merging flights if they share a common non-null flight number and/ or squawk, as the persistent identifier across time. Additionally, in very limited circumstances, a squawk may change mid-flight; in that case, the first alpha squawk is used. This function identifies which identifier to use, and which - if any - should be merged into that one identifier from a group of existing identifiers. Args: proposed_id: The 2-tuple of (flight_number, squawk) of the identified <----SKIPPED LINES----> |
01234567890123456789012345678901234567890123456789012345678901234567890123456789
14911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534 | <----SKIPPED LINES----> json_desc_dict = {} json_desc_dict['now'] = parsed['now'] aircraft = [a for a in parsed['aircraft'] if a['seen'] < PERSISTENCE_SECONDS] json_desc_dict['radio_range_flights'] = len(aircraft) aircraft_with_pos = [a for a in aircraft if 'lat' in a and 'lon' in a] current_distances = [HaversineDistanceMeters( HOME, (a['lat'], a['lon'])) for a in aircraft_with_pos] current_distances = [ d * FEET_IN_METER / FEET_IN_MILE for d in current_distances if d is not None] if current_distances: json_desc_dict['radio_range_miles'] = max(current_distances) return json_desc_dict def SameFlight(f1, f2): """True if these two flights are likely the same flight, False otherwise.""" f1_flight_number = f1.get('flight_number') if f1_flight_number and f1_flight_number == f2.get('flight_number'): return True if f1.get('squawk') and f1.get('squawk') == f2.get('squawk'): return True return False def MergedIdentifier(proposed_id, existing_ids): """Identifies what identifier to use for a flight. While most flights have both a squawk and a flight number, enough are missing one only for it to appear later to want to use a 2-tuple of both as an identifier, merging flights if they share a common non-null flight number and/ or squawk, as the persistent identifier across time. Additionally, in very limited circumstances, a squawk may change mid-flight; in that case, the first alpha squawk is used. This function identifies which identifier to use, and which - if any - should be merged into that one identifier from a group of existing identifiers. Args: proposed_id: The 2-tuple of (flight_number, squawk) of the identified <----SKIPPED LINES----> |