Ejemplo n.º 1
0
def make_itinerary(start_lat, start_lng, start_time, end_lat, end_lng, end_time):
	itinerary = []

	current_time = start_time
	lat, lng = start_lat, start_lng

	activities = algorithms2.pollHereAttractions(lat, lng)

	distance_scaling = algorithms2.pollHereTravelTime(start_lat, start_lng, end_lat, end_lng)

	# Main loop
	while (end_time - current_time) > time_to_end(lat, lng, end_lat, end_lng) and len(activities) > 0:
		best_score = -100 # set to lowest score
		best_activity = "null"
		travel_time = algorithms2.pollHereTravelTime(lat, lng, end_lat, end_lng)
		for activity in activities:
			#print (activity.name, travel_time, best_activity)
			if end_time - current_time > travel_time + activity.duration():
				current_score = activity.value(itinerary)
				if current_score > best_score:
					best_score = current_score
					best_activity = activity

		if best_activity == "null": break
		current_time = add_transportation(itinerary, current_time, lat, lng, best_activity.lat, best_activity.lng)
		itinerary.append(best_activity)
		#print itinerary
		activities.remove(best_activity)
		current_time += best_activity.duration()
		lat,lng = best_activity.lat, best_activity.lng

	add_transportation(itinerary, current_time, lat, lng, end_lat, end_lng)

	return itinerary
Ejemplo n.º 2
0
def make_itinerary(start_lat, start_lng, start_time, end_lat, end_lng,
                   end_time):
    itinerary = []

    current_time = start_time
    lat, lng = start_lat, start_lng

    activities = algorithms2.pollHereAttractions(lat, lng)

    distance_scaling = algorithms2.pollHereTravelTime(start_lat, start_lng,
                                                      end_lat, end_lng)

    # Main loop
    while (end_time - current_time) > time_to_end(
            lat, lng, end_lat, end_lng) and len(activities) > 0:
        best_score = -100  # set to lowest score
        best_activity = "null"
        travel_time = algorithms2.pollHereTravelTime(lat, lng, end_lat,
                                                     end_lng)
        for activity in activities:
            #print (activity.name, travel_time, best_activity)
            if end_time - current_time > travel_time + activity.duration():
                current_score = activity.value(itinerary)
                if current_score > best_score:
                    best_score = current_score
                    best_activity = activity

        if best_activity == "null": break
        current_time = add_transportation(itinerary, current_time, lat, lng,
                                          best_activity.lat, best_activity.lng)
        itinerary.append(best_activity)
        #print itinerary
        activities.remove(best_activity)
        current_time += best_activity.duration()
        lat, lng = best_activity.lat, best_activity.lng

    add_transportation(itinerary, current_time, lat, lng, end_lat, end_lng)

    return itinerary
Ejemplo n.º 3
0
def time_to_end(start_lat, start_lng, end_lat, end_lng):
    return algorithms2.pollHereTravelTime(start_lat, start_lng, end_lat,
                                          end_lng)
Ejemplo n.º 4
0
def time_to_end(start_lat, start_lng, end_lat, end_lng):
	return algorithms2.pollHereTravelTime(start_lat, start_lng, end_lat, end_lng)