diff options
Diffstat (limited to 'ero1/src/demo/demo_cost.py')
| -rw-r--r-- | ero1/src/demo/demo_cost.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/ero1/src/demo/demo_cost.py b/ero1/src/demo/demo_cost.py new file mode 100644 index 0000000..573e367 --- /dev/null +++ b/ero1/src/demo/demo_cost.py @@ -0,0 +1,41 @@ +import math + +def get_edge_length(graph, u, v): + try: + return graph[u][v][0]['length'] + except KeyError: + try: + return graph[v][u][0]['length'] + except KeyError: + return 0 + +def format_time(time_seconds): + seconds = math.ceil(time_seconds % 60) + minutes = math.floor(time_seconds / 60) + if minutes == 0: + return f"{seconds} secondes" + return f"{minutes} minute(s) et {seconds} secondes" + +def export_drone(graph, time_exec, parcours): + total_dist = 0 + time_exec = time_exec / 60 + total_dist += math.ceil(sum(get_edge_length(graph, u, v) for u, v in parcours)) + + return { + "dist":total_dist, + "time":{ + "format":format_time(time_exec), + "value":time_exec + } + } + +def export_deneigeuse(graph, time_exec, parcours): + total_dist = math.ceil(sum(get_edge_length(graph, u, v) for u, v in parcours)) + + return { + "dist":total_dist, + "time":{ + "format":format_time(time_exec), + "value":time_exec + } + }
\ No newline at end of file |
