diff options
Diffstat (limited to 'ero1/src/deneigeuses/drone_path.py')
| -rw-r--r-- | ero1/src/deneigeuses/drone_path.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/ero1/src/deneigeuses/drone_path.py b/ero1/src/deneigeuses/drone_path.py new file mode 100644 index 0000000..2f563b9 --- /dev/null +++ b/ero1/src/deneigeuses/drone_path.py @@ -0,0 +1,23 @@ +import networkx as nx + +def drone_path(parcours_drone, G): + """ + Utilise le parcours du drone comme base pour le parcours de la déneigeuse + Params: + parcours_drone: la liste des arêtes visitées par le drone + G: le graphe du quartier original + Return: + Le parcours de la déneigeuse + """ + parcours_deneigeuse = [] + for (u,v) in parcours_drone: + if G.has_edge(u,v): + parcours_deneigeuse.append((u,v)) + else: + pcc = nx.shortest_path(G, u, v, weight='length') + for i in range(len(pcc) - 1): + parcours_deneigeuse.append((pcc[i], pcc[i+1])) + parcours_deneigeuse.append((v,u)) + for i in range(len(pcc) - 1): + parcours_deneigeuse.append((pcc[i], pcc[i+1])) + return parcours_deneigeuse
\ No newline at end of file |
