22import networkx as nx
33
44def get_full_graph (base_directory ):
5+ # Read input data including vehicles, request, nodes and edges
56 nodes_file = base_directory + "Nodes.csv"
67 edges_file = base_directory + "Edges.csv"
78 requests = get_requests (base_directory + "Requests.csv" )
89 vehicles = get_vehicles (base_directory + "Vehicles.csv" )
910 graph = create_graph (nodes_file , edges_file , requests , vehicles )
1011
11- return graph , requests
12+ return graph , requests , vehicles
1213
1314def convert_to_minutes (time_str ):
1415 # Split the string into hours and minutes
@@ -57,9 +58,10 @@ def read_edges(filename):
5758 reader = csv .reader (file )
5859 next (reader , None )
5960 for i , line in enumerate (reader ):
60- edge_id , source , target , weight = line
61+ edge_id , source , target , travel_time , distance = line
6162 edges [edge_id ] = {'edge_id' : edge_id , 'origin' : int (source ),
62- 'destination' : int (target ), 'travel_time' : float (weight )}
63+ 'destination' : int (target ), 'travel_time' : float (travel_time ),
64+ 'distance' : float (distance )}
6365 return edges
6466
6567def create_graph (nodes_file , edges_file , requests , vehicles ):
@@ -72,10 +74,10 @@ def create_graph(nodes_file, edges_file, requests, vehicles):
7274 G .add_node (index , ** value )
7375
7476 for index , (key , edge ) in enumerate (edges .items (), start = 0 ):
75- G .add_edge (edge ['origin' ], edge ['destination' ],
76- weight = edge ['travel_time ' ], id = edge ['edge_id' ])
77- G .add_edge (edge ['destination' ], edge ['origin' ],
78- weight = edge ['travel_time ' ], id = edge ['edge_id' ])
77+ G .add_edge (edge ['origin' ], edge ['destination' ], travel_time = edge [ 'travel_time' ],
78+ distance = edge ['distance ' ], id = edge ['edge_id' ])
79+ G .add_edge (edge ['destination' ], edge ['origin' ], travel_time = edge [ 'travel_time' ],
80+ distance = edge ['distance ' ], id = edge ['edge_id' ])
7981
8082 return G
8183
0 commit comments