Suite

Comment visualiser le chemin le plus court calculé à l'aide de Networkx ?


J'ai un graphique G (créé à partir d'un fichier de formes de réseau routier), un nœud source S et un nœud de destination D. J'ai calculé la longueur du chemin le plus court à l'aide de single_source_dijkstra_path_length, mais je dois maintenant enregistrer le chemin réel dans un fichier de formes. Cela n'aidera pas, car cela renvoie la représentation graphique de mon réseau, qui ne ressemble en rien à mon réseau d'origine. Existe-t-il un moyen d'enregistrer ce chemin séparément en tant que fichier de formes ?


Lorsque vous lisez un fichier de formes dans networkx avec read_shp networkx simplifie la ligne avec un début et une fin, bien qu'il conserve tous les attributs, ainsi qu'une représentation WKT et WKB de l'entité lorsque vous exportez à nouveau les données.

Pour obtenir le sous-ensemble du graphiquegbasé sur le chemin le plus court, vous pouvez simplement obtenir le subraph :

result_graph = g.subgraph(nx.shortest_path(g, 'from', 'to'))

Et puis vous pouvez exporter le résultat en utilisant écrire_shp. Cela écrira un fichier de formes de nœud et un fichier de formes de bord dans le répertoire spécifié.

nx.write_shp(result_graph, 'output_directory')


Voir la vidéo: Les Choristes - La Nuit (Octobre 2021).