@@ -136,9 +136,11 @@ def _get_edge_speed(self, edge: Edge):
136136 ways_b = set (self .ways [edge .node_b .name ])
137137 common_ways = ways_a .intersection (ways_b )
138138 if len (common_ways ) != 1 :
139- return None
140- max_speed = common_ways .pop ().tags .get ("maxspeed" , None )
141- return int (max_speed ) if max_speed else None
139+ # The default 160 is arbitrary and set, so the following steps produce working output.
140+ return 160
141+ maxspeed = common_ways .pop ().tags .get ("maxspeed" , None )
142+ # The default 160 is arbitrary and set, so the following steps produce working output.
143+ return int (maxspeed ) if maxspeed else 160
142144
143145 def _should_add_edge (self , node_a : model .Node , node_b : model .Node , path : list [int ]):
144146 edge_not_present = not self .topology .get_edge_by_nodes (node_a , node_b )
@@ -191,8 +193,8 @@ def run(self, polygon, railway_option_types: list[str] = None):
191193 if node_a and node_b and self ._should_add_edge (node_a , node_b , path ):
192194 self .paths [(node_a , node_b )].append (path )
193195 current_edge = model .Edge (node_a , node_b )
194- node_a .connected_nodes .append (node_b )
195- node_b .connected_nodes .append (node_a )
196+ node_a .connected_edges .append (current_edge )
197+ node_b .connected_edges .append (current_edge )
196198 self .topology .add_edge (current_edge )
197199 self ._add_geo_nodes (path , current_edge )
198200 current_edge .update_length ()
@@ -249,9 +251,10 @@ def run(self, polygon, railway_option_types: list[str] = None):
249251 candidate .lat , candidate .lon
250252 ).to_dbref ()
251253 new_edge = Edge (node , new_node )
254+ new_edge .maximum_speed = 160
252255 new_edge .update_length ()
253- node .connected_nodes .append (new_node )
254- new_node .connected_nodes .append (node )
256+ node .connected_edges .append (new_edge )
257+ new_node .connected_edges .append (new_edge )
255258 nodes_to_add .append (new_node )
256259 self .topology .add_edge (new_edge )
257260 break
0 commit comments