berth_mapper.py 676 B

1234567891011121314151617181920212223242526
  1. import pandas as pd
  2. from de2.routing import get_graph, get_closest_vertex, pathfinder
  3. berths = pd.read_csv("berths.csv", index_col=0)
  4. bmap = {}
  5. for _, berth in berths.iterrows():
  6. bmap[berth["lpl_id"]] = berth["center_lon"], berth["center_lat"]
  7. graph = get_graph()
  8. locks = ["ZAS", "BOS", "BES", "KAS", "KIS"]
  9. mtx = pd.DataFrame(columns=["source"] + locks)
  10. for _, berth in berths.iterrows():
  11. row = [berth["lpl_id"]]
  12. bnode = get_closest_vertex(graph, berth["center_lon"], berth["center_lat"])
  13. for lock in locks:
  14. _, ds = pathfinder(graph, bmap[berth["lpl_id"]], bmap[lock])
  15. row.append(sum(ds))
  16. mtx.loc[len(mtx.index)] = row
  17. mtx.to_csv("berths2.csv", index=False)