- 📅 2024-02-16T12:25:10.989Z
- 👁️ 252 katselukertaa
- 🔓 Julkinen
mk = [Ultra salainen lista]
px = ['1', '2', '3', '4']
for placemark in var_root:
u_coords = {}
points = 0
desc_r = None
range_points = 0
km = []
in20 = False
if loading == True: print_percent_done(var_root.index(placemark), len(var_root))
if placemark.find('.//kml:name', namespaces=nsmap) != None:
name_elem = placemark.find('.//kml:name', namespaces=nsmap)
name = name_elem.text.strip()
else: continue
if placemark.find('.//kml:coordinates', namespaces=nsmap) != None:
coords = placemark.find('.//kml:coordinates', namespaces=nsmap).text.strip().split(',')
kml_coords = (coords[1], coords[0])
for ultra in ultrasalainenlista2:
ultra_coords = tuple({ultrasalainenlista2[ultra]['coords']})
ultra_points = ultrasalainenlista2[ultra]['points']
if ultra_coords in u_coords:
ultra_dist = u_coords[ultra_coords]
else: ultra_dist = distance.distance(ultrasalainenlista2[ultra]['coords'], kml_coords).km
if ultra_dist <= float(asetukset['3']):
km.append(ultra_dist)
if ultra_dist <= 35:
in20 = True
range_points += (ultra_points / 2 - (ultra_points / (ultra_dist / float(asetukset['1']))))
if ultra_dist <= 50:
u_coords[ultra_coords] = ultra_dist
else: continue
if in20 == False:
continue
if placemark.find('{http://www.opengis.net/kml/2.2}description') != None:
description = placemark.find('{http://www.opengis.net/kml/2.2}description').text
desc_r = description.split('<br>')
if desc_r[0][1:3] == 'ultrasalainenstr':
continue
for r in desc_r:
if r[1:3] in mk:
ta_r = r[0]
if ta_r == 'ultrasalinenstr2':
om = r[4]
if om == '2':
points += float(asetukset['smart']['ultrasalinenasetus2'])
if om == '3':
points += float(asetukset['smart']['ultrasalinenasetus3'])
if om == '1':
points += float(asetukset['smart']['ultrasalinenasetus4'])
if len(r) > 5:
om = r[5]
if len(r) > 6:
lm = r[6]
pa1 = r[3]
if ta_r == 'ultrasalainenstr3':
if pa1 != 0 and om != None:
match om:
case '1':
if lm == '5':
points += float(asetukset['smart']['15'])
elif lm == '2':
points += float(asetukset['smart']['1x'])
elif lm == '3':
points += float(asetukset['smart']['1x'])
case '2':
points += float(asetukset['smart']['2'])
case '3':
if lm == '4':
points += float(asetukset['smart']['34'])
else:
points += float(asetukset['smart']['3'])
case '4':
if lm == '3':
points += float(asetukset['smart']['43'])
elif lm == '4':
points += float(asetukset['smart']['44'])
elif lm == '8':
points += float(asetukset['smart']['48'])
case '5':
if lm == None:
points += float(asetukset['smart']['5'])
elif lm == '8':
points += float(asetukset['smart']['58'])
case '6':
points += float(asetukset['smart']['6'])
case '7':
if lm == '3':
points += float(asetukset['smart']['73'])
# case '8':
case '9':
if lm == '3':
points += float(asetukset['smart']['93'])
elif pa1 in px and om == None:
points += float(asetukset['smart']['px'])
ta_r = r[0]
if ta_r == 'ultrasalainenstr5' or r[:2] == 'ultrasalainenstr4':
points += len(description.split('<br>')) * float(asetukset['smart']['ultrasalainenstr5*'])
points += float(asetukset['smart']['ultrasalainenstr5'])
else: continue
if range_points == 0:
continue
if points != 0:
latas = []
longas = []
for vc in v_coords:
latas.append(vc[0][0])
longas.append(vc[0][1])
avg_coords = (sum(latas) / len(latas), sum(longas) / len(longas))
avg_dist = distance.distance(avg_coords, kml_coords).km
km_points = sorted(km)[0]
len_points = len(list(dict.fromkeys(km)))
points_n = (points - (range_points / 2) + km_points + (len_points * len_points * len_points) - (avg_dist * avg_dist * avg_dist))
else: continue
ultrasalainenlista3.append({'name': name, 'points': points_n, 'coords': coords, 'km_points': km_points, 'desc': desc_r, 'len_points': len_points, 'avg_dist': avg_dist})