индекс 0 выходит за границы оси 0 с размером 0 Python OSMnx - PullRequest
0 голосов
/ 01 февраля 2020

Попытка проложить фолиевые маршруты между некоторыми местами. Список точек называется 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

Есть идеи? Я пробовал также использовать роуты [другое число], но все еще с той же ошибкой, и когда я печатаю маршрут, я вижу список со всеми идентификаторами узлов, поэтому он выглядит нормально

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...