- sumsig = sum([sig for _, _, sig in data])
- nsigs = [sig / sumsig for _, _, sig in data]
+ if not data:
+ return None, None
+ sumsig = sum([1 / sig for _, _, sig in data])
+ nsigs = [1 / sig / sumsig for _, _, sig in data]
avlat = sum([lat * nsig for (lat, _, _), nsig in zip(data, nsigs)])
avlon = sum([lon * nsig for (_, lon, _), nsig in zip(data, nsigs)])
# lc.execute("drop table mem.seen")
avlat = sum([lat * nsig for (lat, _, _), nsig in zip(data, nsigs)])
avlon = sum([lon * nsig for (_, lon, _), nsig in zip(data, nsigs)])
# lc.execute("drop table mem.seen")
if __name__.endswith("__main__"):
from datetime import datetime, timezone
import sys
if __name__.endswith("__main__"):
from datetime import datetime, timezone
import sys
- """select timestamp, imei, clntaddr, length, proto, payload from events
+ """select select tstamp, packet from events
where proto in (?, ?)""",
(WIFI_POSITIONING.PROTO, WIFI_OFFLINE_POSITIONING.PROTO),
)
where proto in (?, ?)""",
(WIFI_POSITIONING.PROTO, WIFI_OFFLINE_POSITIONING.PROTO),
)
- for timestamp, imei, clntaddr, length, proto, payload in c:
- obj = make_object(length, proto, payload)
+ for timestamp, imei, clntaddr, proto, payload in c:
+ obj = parse_message(packet)
avlat, avlon = qry_cell(sys.argv[2], obj.mcc, obj.gsm_cells)
print(
"{} {:+#010.8g},{:+#010.8g}".format(
avlat, avlon = qry_cell(sys.argv[2], obj.mcc, obj.gsm_cells)
print(
"{} {:+#010.8g},{:+#010.8g}".format(