kopia lustrzana https://github.com/projecthorus/chasemapper
Cast all incoming lat/lon/alt data to float before processing.
rodzic
37bed6b70e
commit
210b5870a5
|
@ -573,9 +573,9 @@ def ozi_listener_callback(data):
|
|||
# OziMux message contains:
|
||||
# {'lat': -34.87915, 'comment': 'Telemetry Data', 'alt': 26493.0, 'lon': 139.11883, 'time': datetime.datetime(2018, 7, 16, 10, 55, 49, tzinfo=tzutc())}
|
||||
output = {}
|
||||
output['lat'] = data['lat']
|
||||
output['lon'] = data['lon']
|
||||
output['alt'] = data['alt']
|
||||
output['lat'] = float(data['lat'])
|
||||
output['lon'] = float(data['lon'])
|
||||
output['alt'] = float(data['alt'])
|
||||
output['callsign'] = "Payload"
|
||||
output['time_dt'] = data['time']
|
||||
|
||||
|
@ -602,9 +602,9 @@ def udp_listener_summary_callback(data):
|
|||
# Extract the fields we need.
|
||||
# Convert to something generic we can pass onwards.
|
||||
output = {}
|
||||
output['lat'] = data['latitude']
|
||||
output['lon'] = data['longitude']
|
||||
output['alt'] = data['altitude']
|
||||
output['lat'] = float(data['latitude'])
|
||||
output['lon'] = float(data['longitude'])
|
||||
output['alt'] = float(data['altitude'])
|
||||
output['callsign'] = data['callsign']
|
||||
|
||||
logging.info("Horus UDP Data: %.5f, %.5f, %.1f" % (output['lat'], output['lon'], output['alt']))
|
||||
|
@ -635,11 +635,11 @@ def udp_listener_car_callback(data):
|
|||
# TODO: Make a generic car position function, and have this function pass data into it
|
||||
# so we can add support for other chase car position inputs.
|
||||
global car_track, habitat_uploader, bearing_store
|
||||
_lat = data['latitude']
|
||||
_lon = data['longitude']
|
||||
_alt = data['altitude']
|
||||
_lat = float(data['latitude'])
|
||||
_lon = float(data['longitude'])
|
||||
_alt = float(data['altitude'])
|
||||
_comment = "CAR"
|
||||
_time_dt = pytz.utc.localize(datetime.utcnow())#datetime.utcnow()
|
||||
_time_dt = pytz.utc.localize(datetime.utcnow())
|
||||
|
||||
logging.debug("Car Position: %.5f, %.5f" % (_lat, _lon))
|
||||
|
||||
|
|
|
@ -147,7 +147,7 @@ def send_balloon_telemetry(json_data, udp_port=55672):
|
|||
s.sendto(json.dumps(packet), ('127.0.0.1', udp_port))
|
||||
|
||||
|
||||
def playback_json(filename, udp_port=55672, speed=1.0):
|
||||
def playback_json(filename, udp_port=55672, speed=1.0, start_time = 0):
|
||||
""" Read in a JSON log file and play it back in real-time, or with a speed factor """
|
||||
|
||||
with open(filename, 'r') as _log_file:
|
||||
|
@ -173,6 +173,9 @@ def playback_json(filename, udp_port=55672, speed=1.0):
|
|||
# Running timer
|
||||
_run_time = (_new_time - _first_time).total_seconds()
|
||||
|
||||
if _run_time < start_time:
|
||||
continue
|
||||
|
||||
_time_min = int(_run_time)//60
|
||||
_time_sec = _run_time%60.0
|
||||
|
||||
|
@ -181,7 +184,6 @@ def playback_json(filename, udp_port=55672, speed=1.0):
|
|||
if _log_data['log_type'] == 'CAR POSITION':
|
||||
send_car_position(_log_data, udp_port)
|
||||
print("%02d:%.2f - Car Position" % (_time_min, _time_sec))
|
||||
|
||||
|
||||
elif _log_data['log_type'] == 'BEARING':
|
||||
send_bearing(_log_data, udp_port)
|
||||
|
@ -208,6 +210,7 @@ if __name__ == '__main__':
|
|||
|
||||
filename = ""
|
||||
speed = 1.0
|
||||
start_time = 0
|
||||
hostname = 'localhost'
|
||||
udp_port = 55672
|
||||
|
||||
|
@ -216,6 +219,10 @@ if __name__ == '__main__':
|
|||
elif len(sys.argv) == 3:
|
||||
filename = sys.argv[1]
|
||||
speed = float(sys.argv[2])
|
||||
elif len(sys.argv) == 4:
|
||||
filename = sys.argv[1]
|
||||
speed = float(sys.argv[2])
|
||||
start_time = float(sys.argv[3])*60
|
||||
|
||||
playback_json(filename, udp_port, speed)
|
||||
playback_json(filename, udp_port, speed, start_time)
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue