summaryrefslogtreecommitdiff
path: root/ero1/src/deneigeuses/drone_path.py
diff options
context:
space:
mode:
authorMartial Simon <msimon_fr@hotmail.com>2025-09-15 01:07:58 +0200
committerMartial Simon <msimon_fr@hotmail.com>2025-09-15 01:07:58 +0200
commit967be9e750221ab2ab783f95df79bb26d290a45e (patch)
tree6802900a5e975f9f68b169f0f503f040056d6952 /ero1/src/deneigeuses/drone_path.py
add: added projectsHEADmain
Diffstat (limited to 'ero1/src/deneigeuses/drone_path.py')
-rw-r--r--ero1/src/deneigeuses/drone_path.py23
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