-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdet_lossmap_parser.py
55 lines (39 loc) · 1.51 KB
/
det_lossmap_parser.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
PATH_FILE='/Users/vitorsilva/Documents/PhD/GiovinazziLagomarsino/loss-map.xml'
PATH_LOG='/Users/vitorsilva/Documents/PhD/GiovinazziLagomarsino/loss-map.txt'
import math
def isodd(num):
return num & 1 and True or False
def parse_values(path):
values=[]
file=open(path)
lines=file.readlines()
return lines
def compute_map(lines):
no = len(lines)
Latitude = []
Longitude =[]
Values = []
no_assets = 0
out_file = open(PATH_LOG,"w")
for i in range(no):
if lines[i].strip()[:7] == '<LMNode':
j=1
subValue = 0.0
while lines[i+j].strip()[:8] != '</LMNode':
if lines[i+j].strip()[:9] == '<gml:pos>':
coordinates = lines[i+j].strip().replace('<gml:pos>','').replace('</gml:pos>','').split()
if lines[i+j].strip()[:6] == '<mean>':
subValue = subValue + float(lines[i+j].strip().replace('<mean>','').replace('</mean>',''))
no_assets = no_assets+1
j=j+1
Latitude.append(coordinates[1])
Longitude.append(coordinates[0])
Values.append(subValue)
out_file.write('x,y,value\n')
for i in range(len(Values)):
out_file.write(Longitude[i]+','+Latitude[i]+','+str(Values[i])+'\n')
out_file.close()
print no_assets
print len(Values)
lines = parse_values(PATH_FILE)
compute_map(lines)