1 """ Example that produces gpx from events in evstore """
4 # python -m loctrkd.mkgpx <sqlite-file> <IMEI>
5 # Generated gpx is emitted to stdout
7 from datetime import datetime, timezone
8 from sqlite3 import connect
11 from .zx303proto import *
13 db = connect(sys.argv[1])
16 """select tstamp, is_incoming, packet from events
18 and ((is_incoming = false and proto = ?)
19 or (is_incoming = true and proto = ?))
21 (sys.argv[2], proto_name(WIFI_POSITIONING), proto_name(GPS_POSITIONING)),
25 """<?xml version="1.0"?>
28 xmlns="http://www.topografix.com/GPX/1/1">
29 <name>Location Data</name>
31 <name>Location Data</name>
36 for tstamp, is_incoming, packet in c:
37 msg = parse_message(packet, is_incoming=is_incoming)
38 lat, lon = msg.latitude, msg.longitude
40 datetime.fromtimestamp(tstamp).astimezone(tz=timezone.utc).isoformat()
42 isotime = isotime[: isotime.rfind(".")] + "Z"
43 trkpt = """ <trkpt lat="{}" lon="{}">
51 datetime.fromtimestamp(tstamp)
52 .astimezone(tz=timezone.utc)