OSMnx: построение сети на интерактивной веб-карте с разными цветами для каждой инфраструктуры - PullRequest
2 голосов
/ 21 мая 2019

Я пытаюсь построить сеть, в которой края имеют разные цвета в соответствии с их атрибутом карты улиц Opens ('шоссе').Это работает, если я использую ox.graph, однако, это генерирует статическую карту.Если я использую ox.plot.plot_graph_folium(), я получаю интерактивную карту только в том случае, если все края имеют одинаковый цвет.Если я назначу edge_color список цветов, он не будет работать.



    import osmnx as ox
    address_name='19, Molstraat, Van Leeuwenhoekkwartier, Delft, South      Holland, Netherlands, 2611EM, Netherlands'

    graph=ox.graph_from_address(address_name, distance=300)

    ec = ['skyblue' if data['highway']=='footway' 
      else 'paleturquoise' if data['highway']=='residential' 
      else 'orange' if data['highway']=='cycleway' 
      else 'sienna' if data['highway']=='service' 
      else 'lightgreen' if data['highway']=='living street' 
      else 'grey' if data['highway']=='secondary'
      else 'lightskyblue' if data['highway']=='pedestrian'
      else 'black' for u, v, key, data in graph.edges(keys=True, data=True)]

    #this works, but is static
    ox.plot_graph(graph,fig_height=8,fig_width=8,node_size=0, edge_color=ec)

    #this does not work 
    import folium 
    ox.plot.plot_graph_folium(graph, popup_attribute='highway',edge_color=ec)

    #this works, but is one color only 
    import folium 
         ox.plot.plot_graph_folium(graph,popup_attribute='highway',edge_color='blue')

Этот похожий вопрос ( stackoverflow ) предлагает добавить новый столбец к каждому ребру и затем изменить функцию plot_graph_folium.Также эта модификация не работает.Может ли кто-нибудь дать мне пример того, как сделать интерактивную карту с краями разных цветов?

...