busroute.py

changeset 68
382dd85b83a2
parent 60
aab788e8a725
child 71
d2e19670b772
--- a/busroute.py	Sat Sep 23 01:23:55 2017 +0300
+++ b/busroute.py	Mon Sep 25 10:46:23 2017 +0300
@@ -45,7 +45,7 @@
 	name = abbreviations.get(name, name)
 	return name
 
-def reduce_schedule(reitti, trip_length, whole = False):
+def reduce_schedule(reitti, trip_length, whole = False, long = False):
 	length = ((trip_length / 600) * 3 + len(reitti) * 2) / 5
 	if not reitti:
 		return ''
@@ -62,12 +62,12 @@
 	priorities = {
 		'ihala': 150,
 		'kauppakeskus mylly': 200,
-		'kuninkoja': 80,
+		'kuninkoja': 150,
 		'moikoinen': 80,
 		'raision keskusta': 150,
 		'kukola': 50,
 		'kaistarniemi': 50,
-		'papinsaari': 50,
+		'papinsaari': 80,
 		'oriniemi': 50,
 		'pikisaari': 50,
 		'häppilä': 20,
@@ -76,8 +76,8 @@
 		'halinen': 70,
 		'kakskerta': 200,
 		'pansio': 50,
-		'räntämäki': 10,
-		'verkahovi': 20,
+		'räntämäki': 25,
+		'verkahovi': 25,
 		'skanssi': 200,
 		'vaala': 20,
 		'varissuo': 60,
@@ -110,7 +110,7 @@
 		'marttila': 100,
 		'koski tl': 100,
 		'katariina': 50,
-		'länsikeskus': 50,
+		'länsikeskus': 30,
 		'kaanaa': 100,
 		'satava': 50,
 		'suikkila': 50,
@@ -118,7 +118,6 @@
 		'räntämäki': 50,
 		'moisio': 25,
 		'pääskyvuori': 100,
-		#'rautatieasema': 50,
 		'logomo': 100,
 		'rymättylä': 50,
 		"sauvo": 500,
@@ -132,8 +131,35 @@
 		'merimasku': 50,
 		'turkuhalli': 100,
 		'messukeskus': 100,
-		'naantalin pikatie': 150,
-		'helsingin valtatie': 500,
+		'naantalin pikatie': 25,
+		'helsingin valtatie': 25,
+		'lauste': 25,
+		'pompo': 25,
+		'loukinainen': 25,
+		'tuorla': 25,
+		'satakunnantie': 25,
+		'hepokulta': 25,
+		'nättinummi': 25,
+		'nummenmäki': 25,
+		'kurala': 25,
+		'itäharju': 25,
+		'vasaramäki': 25,
+		'pohjola': 25,
+		'iso-heikkilä': 25,
+		'patterinhaka': 25,
+		'illoinen': 50,
+		'luolavuori': 25,
+		'mäntymäki': 25,
+		'kurjenmäki': 25,
+		'kuusisto': 25,
+		'rautatieasema': 25,
+		'majakkaranta': 25,
+		'itäranta': 25,
+		'martti': 25,
+		'vähä-heikkilä': 25,
+		'särkilahti': 25,
+		'urusvuori': 25,
+		'port arthur': 25,
 	}
 
 	if 'kauppatori' not in reitti:
@@ -164,19 +190,22 @@
 		for i, stop in enumerate(reitti) \
 		if reitti_arvot[stop] >= 1
 		], key = lambda stop: -stop[1])
-	# enintään neljä tulee kylttiin
-	weights = weights[:3]
-	# jos kolmas kylttiarvo ei ole tarpeeksi merkittävä suhteessa reitin pituuteen niin otetaan se pois
-	try:
-		if weights[2][0] != destination and weights[2][1] < (725 / length ** 0.8):
-			del weights[2]
-	except IndexError:
-		pass
-	try:
-		if weights[1][0] != destination and weights[1][1] < (500 / length ** 1.15):
-			del weights[1]
-	except IndexError:
-		pass
+	if long:
+		weights = weights[:4]
+	else:
+		# enintään neljä tulee kylttiin
+		weights = weights[:3]
+		# jos kolmas kylttiarvo ei ole tarpeeksi merkittävä suhteessa reitin pituuteen niin otetaan se pois
+		try:
+			if weights[2][0] != destination and weights[2][1] < (725 / length ** 0.8):
+				del weights[2]
+		except IndexError:
+			pass
+		try:
+			if weights[1][0] != destination and weights[1][1] < (500 / length ** 1.15):
+				del weights[1]
+		except IndexError:
+			pass
 	# lajitellaan painoarvot uudestaan reittijärjestykseen jotta sign tulee oikeinpäin
 	weights = sorted(weights, key = lambda weight_data: weight_data[2])
 	# muodostetaan sign..

mercurial