Попытка проложить фолиевые маршруты между некоторыми местами. Список точек называется ml, и я нахожу маршрут между двумя точками, добавляю его в список и затем вычисляю следующий маршрут.
for m in range(len(ml)-2):
m1 = ml[m] #source
m2 = ml[m+1] #target
p = tuple(map(operator.add, m1, m2))
p1 = ((m1[0] + m2[0])/2,(m1[1] + m2[1])/2)
dist = max(vincenty(m1, m2).meters,1000)+2000
Ga = ox.graph_from_point(p1,distance = dist) # graph contains all nodes for the route calculation
nodeid = ox.get_nearest_node(Ga,ml[m])
nodeid2 = ox.get_nearest_node(Ga,ml[m+1])
route = nx.shortest_path(Ga, source=nodeid, target=nodeid2,weight='length')
routes.append(route) #list of all routes
, когда я использую m = ox.plot_route_folium(G_for_plot, routes[0])
Я получаю это ошибка:
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-70-7aeface56462> in <module>
17
18
---> 19 m = ox.plot_route_folium(G_for_plot, rooutes[0])
20
~\Anaconda3\lib\site-packages\osmnx\plot.py in plot_route_folium(G, route, route_map,
popup_attribute, tiles, zoom, fit_bounds, route_color, route_width, route_opacity)
915 gdf_edges = graph_to_gdfs(G, nodes=False, fill_edge_geometry=True)
916 route_nodes = list(zip(route[:-1], route[1:]))
--> 917 index = [gdf_edges[(gdf_edges['u']==u) & (gdf_edges['v']==v)].index[0] for u, v in
route_nodes]
918 gdf_route_edges = gdf_edges.loc[index]
919
~\Anaconda3\lib\site-packages\osmnx\plot.py in <listcomp>(.0)
915 gdf_edges = graph_to_gdfs(G, nodes=False, fill_edge_geometry=True)
916 route_nodes = list(zip(route[:-1], route[1:]))
--> 917 index = [gdf_edges[(gdf_edges['u']==u) & (gdf_edges['v']==v)].index[0] for u, v in
route_nodes]
918 gdf_route_edges = gdf_edges.loc[index]
919
~\Anaconda3\lib\site-packages\pandas\core\indexes\base.py in __getitem__(self, key)
3956 if is_scalar(key):
3957 key = com.cast_scalar_indexer(key)
-> 3958 return getitem(key)
3959
3960 if isinstance(key, slice):
IndexError: index 0 is out of bounds for axis 0 with size 0
Есть идеи? Я пробовал также использовать роуты [другое число], но все еще с той же ошибкой, и когда я печатаю маршрут, я вижу список со всеми идентификаторами узлов, поэтому он выглядит нормально