Skip to content

Commit

Permalink
TEL4, and fix some strange bugs in the code and datasets
Browse files Browse the repository at this point in the history
  • Loading branch information
yuuka-miya committed Dec 12, 2024
1 parent b67bcfe commit 054e80f
Show file tree
Hide file tree
Showing 15 changed files with 1,156 additions and 431,563 deletions.
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,6 @@ analysis/gis
analysis/graphs
!bus/reader_timed.py
!bus/graph_in*
.ipynb_checkpoints
.ipynb_checkpoints
downloader/
!downloader/downloader.py
67 changes: 15 additions & 52 deletions analysis/dijkstra.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,60 +6,15 @@
import numpy as np
import networkx as nx

#cross platform interchanges - they share the same node
interchange_codes = {
"EW24": "NS1",
"EW13": "NS25",
"EW14": "NS26",
"DT15": "CC4",
"CC1": "NS24",
"NE6": "NS24",
"BP1": "NS4",
"CC15": "NS17",
"CE2": "NS27",
"CC9": "EW8",
"DT14": "EW12",
"NE3": "EW16",
"CC22": "EW21",
"DT35": "CG1",
"CC29": "NE1",
"DT19": "NE4",
"DT12": "NE7",
"CC13": "NE12",
"STC": "NE16",
"PTC": "NE17",
"DT26": "CC10",
"DT9": "CC19",
"DT16": "CE1",
"TE2": "NS9",
"TE9": "CC17",
"TE11": "DT10",
"TE14": "NS22",
"TE17": "EW16",
"TE20": "NS27",
"TE31": "DT37",
"FL1": "CC32",
"JS1": "NS4",
"JS8": "EW27",
"JE5": "NS1",
"CR5": "EW1",
"CR8": "NE14",
"CR11": "NS16",
"CR13": "TE7",
"CP4": "NE17",
"CR15": "DT6",
"CR17": "EW23",
#as leaked in online exhibit
"CR21": "JS12",
"CR24": "EW30",
#unpaid links
# hack: represent unpaid links with a distance cost of 99 so only entries/exits use it
#"BP6": "DT1",
#"DT32": "EW2",
#"DT11": "NS21",
"CP3": "PE4"
"DT16": "CE1"
}

unpaid_links = ["BP6/DT1", "EW2/DT32", "NS21/DT11"]
interchange_nodes = []

# we'll use infinity as a default distance to nodes.
inf = float('inf')
Expand All @@ -76,14 +31,23 @@ def pairwise(iterable):
print("Running pathfinder AND route walker!")

graph = nx.Graph()
df = pd.read_csv("nodes_unpaidhack.csv")
df = pd.read_csv("nodes.csv")
df = df.replace({'n1': interchange_codes, 'n2': interchange_codes})
df1 = pd.read_csv("stations.csv")
df1 = df1.replace({'stn_code': interchange_codes})
df1 = df1.drop_duplicates()
df2 = pd.DataFrame()
for index, row in df.iterrows():
graph.add_edge(row['n1'], row['n2'], weight=row['time'])

# interchange station handling - weight 99 to the joint code so that only entries/exits use it
for index, row in df1.iterrows():
code = row["stn_code"]
break_code = code.split('/')
if len(break_code) > 1:
interchange_nodes.append(code)
for subcode in break_code:
graph.add_edge(code, subcode, weight=99)

for index1, row1 in tqdm(df1['stn_code'].items(), total = df1.size):
#row1 = "BP10"
Expand All @@ -95,15 +59,14 @@ def pairwise(iterable):
if row2 not in results[row1]:
results[row1][row2] = []

# code here to select routes b
results[row1][row2] = list(nx.dijkstra_path(graph, row1, row2))

with open ("train_routes_nx_tel3.json", "w") as outfile:
json.dump(results, outfile, sort_keys=True, indent=4, ensure_ascii=False)

# remove our hack nodes
#for u in unpaid_links:
# graph.remove_node(u)
for u in interchange_nodes:
graph.remove_node(u)

import matplotlib.pyplot as plt
pos = nx.kamada_kawai_layout(graph, scale=10) # positions for all nodes
Expand Down
8 changes: 8 additions & 0 deletions analysis/ints.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
EW24,NS1
CC1,NS24
NE6,NS24
EW13,NS25
EW14,NS26
DT15,CC4
STC,NE16
PTC,NE17
49 changes: 42 additions & 7 deletions analysis/nodes.csv
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@ NS1,NS2,T,3,3
NS2,NS3,T,2,3
NS3,NS4,T,4,3
NS4,NS5,T,3,
NS4,BP1,T,1,
NS5,NS7,T,5,
NS7,NS8,T,3,3
NS8,NS9,T,2,3
NS9,NS10,T,3,3
NS9,TE2,T,3,
NS10,NS11,T,3,3
NS11,NS12,T,3,3
NS12,NS13,T,3,3
Expand All @@ -15,16 +17,22 @@ NS14,NS15,T,6,5
NS15,NS16,T,2,2
NS16,NS17,T,4,2
NS17,NS18,T,2,2
NS17,CC15,T,2,
NS18,NS19,T,2,2
NS19,NS20,T,3,2
NS20,NS21,T,2,2
NS21,NS22,T,3,2
NS22,NS23,T,2,2
NS22,TE14,T,2,
NS23,NS24,T,2,1
NS24,NS25,T,3,2
NS24,NE6,T,3,
NS24,CC1,T,1,
NS25,NS26,T,2,2
NS26,NS27,T,2,2
NS27,NS28,T,3,1
NS27,CE2,T,2,
NS27,TE20,T,4,
EW1,EW2,T,3,
EW2,EW3,T,3,
EW3,EW4,T,3,
Expand All @@ -33,19 +41,24 @@ EW5,EW6,T,3,
EW6,EW7,T,3,
EW7,EW8,T,2,
EW8,EW9,T,2,
EW8,CC9,T,2,
EW9,EW10,T,3,
EW10,EW11,T,2,
EW11,EW12,T,2,
EW12,EW13,T,3,
EW12,DT14,T,3,
EW13,EW14,T,2,
EW14,EW15,T,3,
EW15,EW16,T,2,
EW16,EW17,T,3,
EW16,NE3,T,2,
EW16,TE17,T,1,
EW17,EW18,T,2,
EW18,EW19,T,3,
EW19,EW20,T,2,
EW20,EW21,T,2,
EW21,EW22,T,3,
EW21,CC22,T,2,
EW22,EW23,T,3,
EW23,EW24,T,4,
EW24,EW25,T,3,
Expand All @@ -59,39 +72,51 @@ EW31,EW32,T,2,
EW32,EW33,T,2,
EW4,CG1,T,3,
CG1,CG2,T,4,
CG1,DT35,T,3,
NE1,NE3,T,4,
NE1,CC29,T,2,
NE3,NE4,T,1,
NE3,TE17,T,2,
NE4,NE5,T,2,
NE4,DT19,T,1,
NE5,NE6,T,4,
NE6,NE7,T,1,
NE7,NE8,T,1,
NE7,DT12,T,3,
NE8,NE9,T,2,
NE9,NE10,T,3,
NE10,NE11,T,1,
NE11,NE12,T,2,
NE12,NE13,T,3,
NE12,CC13,T,2,
NE13,NE14,T,2,
NE14,NE15,T,2,
NE15,NE16,T,2,
NE16,STC,T,2,
NE16,NE17,T,3,
NE17,PTC,T,2,
CC1,CC2,T,2,
CC2,CC3,T,2,
CC3,CC4,T,2,
CC4,CC5,T,2,
CC4,DT15,T,1,
CC5,CC6,T,2,
CC6,CC7,T,2,
CC7,CC8,T,2,
CC8,CC9,T,2,
CC9,CC10,T,2,
CC10,CC11,T,2,
CC10,DT26,T,1,
CC11,CC12,T,2,
CC12,CC13,T,3,
CC13,CC14,T,2,
CC14,CC15,T,2,
CC15,CC16,T,3,
CC16,CC17,T,2,
CC17,CC19,T,5,
CC17,TE9,T,3,
CC19,CC20,T,2,
CC19,DT9,T,2,
CC20,CC21,T,3,
CC21,CC22,T,2,
CC22,CC23,T,2,
Expand All @@ -112,6 +137,7 @@ DT7,DT8,T,2,
DT8,DT9,T,2,
DT9,DT10,T,2,
DT10,DT11,T,2,
DT10,TE11,T,2,
DT11,DT12,T,3,
DT12,DT13,T,1,
DT13,DT14,T,2,
Expand Down Expand Up @@ -172,7 +198,8 @@ PE5,PE6,T,1,
PE6,PE7,T,1,
PE7,PTC,T,2,
PTC,PE1,T,3,
PW1,PW3,T,2,
PW1,PW2,T,1,
PW2,PW3,T,1,
PW3,PW4,T,1,
PW4,PW5,T,1,
PW5,PW6,T,1,
Expand All @@ -181,20 +208,28 @@ PW7,PTC,T,3,
PTC,PW1,T,2,
TE1,TE2,T,2,
TE2,TE3,T,3,
TE3,TE4,T,5,
TE3,TE4,T,4,
TE4,TE5,T,3,
TE5,TE6,T,2,
TE6,TE7,T,2,
TE7,TE8,T,3,
TE7,TE8,T,2,
TE8,TE9,T,3,
TE9,TE11,T,4,
TE11,TE12,T,3,
TE11,TE12,T,2,
TE12,TE13,T,2,
TE13,TE14,T,2,
TE14,TE15,T,3,
TE15,TE16,T,1,
TE14,TE15,T,2,
TE15,TE16,T,2,
TE16,TE17,T,2,
TE17,TE18,T,2,
TE18,TE19,T,2,
TE18,TE19,T,1,
TE19,TE20,T,2,
TE20,TE22,T,3,
TE20,CE2,T,3,
TE22,TE23,T,4,
TE23,TE24,T,2,
TE24,TE25,T,2,
TE25,TE26,T,2,
TE26,TE27,T,2,
TE27,TE28,T,2,
TE28,TE29,T,3,
Loading

0 comments on commit 054e80f

Please sign in to comment.