-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgps2jsjson.py
79 lines (62 loc) · 2.91 KB
/
gps2jsjson.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#!/usr/bin/python
# FIlename: gps2jsjson.py
'''
Created on 18 Aug 2014
@author: [email protected]
'''
import os
import sys
import json
import time
import glob
def writeLog(msg, isDate=True):
sys.stdout.write("%s: %s\n" % (time.strftime("%Y-%m-%d %H:%M:%S"), msg))
sys.stdout.flush()
def writeErr(msg, isDate=True):
sys.stderr.write("%s: %s\n" % (time.strftime("%Y-%m-%d %H:%M:%S"), msg))
sys.stderr.flush()
if __name__ == "__main__":
__inputDir = None
__inputFile = None
__outputFile = None
__separate = ','
if len(sys.argv) == 2:
__inputDir = sys.argv[1]
else:
writeLog("Need input file...")
sys.exit(0)
if __inputDir == '.':
__gpsFiles = glob.glob('*.gps')
else:
__gpsFiles = glob.glob(__inputDir + '/*.gps')
sPrva = True
with open('geoLapse-full.js.json', 'w') as s:
s.write("[")
for __inputFile in __gpsFiles:
__outputFile = __inputFile[:-3] + 'js.json'
dataJson = None
writeLog(__inputFile + ' >> ' + __outputFile)
with open(__inputFile, 'r') as f:
rawJson = f.read()
dataJson = json.loads(rawJson)
if json == None:
writeLog("Error reading GPS file")
sys.exit(0)
fPrva = True
with open(__outputFile, 'w') as f:
f.write("[")
for record in sorted(dataJson):
if dataJson[record]['Lat'] != None:
if fPrva:
f.write("\r\n\t{ \"Timestamp\":%s, \"Date\":\"%s\", \"Time\":\"%s\", \"Lat\":%s, \"Lon\":%s, \"Alt\":%s, \"Speed\":%s, \"Direction\":%s}" % (record, dataJson[record]['DateTime']['date'], dataJson[record]['DateTime']['time'], dataJson[record]['Lat'], dataJson[record]['Lon'], dataJson[record]['Alt'], dataJson[record]['Speed']['kmh'], dataJson[record]['Direction']))
fPrva = False
else:
f.write(",\r\n\t{ \"Timestamp\":%s, \"Date\":\"%s\", \"Time\":\"%s\", \"Lat\":%s, \"Lon\":%s, \"Alt\":%s, \"Speed\":%s, \"Direction\":%s}" % (record, dataJson[record]['DateTime']['date'], dataJson[record]['DateTime']['time'], dataJson[record]['Lat'], dataJson[record]['Lon'], dataJson[record]['Alt'], dataJson[record]['Speed']['kmh'], dataJson[record]['Direction']))
if sPrva:
s.write("\r\n\t{ \"Timestamp\":%s, \"Date\":\"%s\", \"Time\":\"%s\", \"Lat\":%s, \"Lon\":%s, \"Alt\":%s, \"Speed\":%s, \"Direction\":%s}" % (record, dataJson[record]['DateTime']['date'], dataJson[record]['DateTime']['time'], dataJson[record]['Lat'], dataJson[record]['Lon'], dataJson[record]['Alt'], dataJson[record]['Speed']['kmh'], dataJson[record]['Direction']))
sPrva = False
else:
s.write(",\r\n\t{ \"Timestamp\":%s, \"Date\":\"%s\", \"Time\":\"%s\", \"Lat\":%s, \"Lon\":%s, \"Alt\":%s, \"Speed\":%s, \"Direction\":%s}" % (record, dataJson[record]['DateTime']['date'], dataJson[record]['DateTime']['time'], dataJson[record]['Lat'], dataJson[record]['Lon'], dataJson[record]['Alt'], dataJson[record]['Speed']['kmh'], dataJson[record]['Direction']))
f.write("\r\n]\r\n")
s.write("\r\n]\r\n")
writeLog("Finished converting GPS data...")