diff --git a/src/dijkstragraph.c b/src/dijkstragraph.c index 0d6259c..1f908f2 100644 --- a/src/dijkstragraph.c +++ b/src/dijkstragraph.c @@ -175,7 +175,8 @@ dijkstra_cost dijkstra_get_weight_from_distance(struct dijkstra_node *node_a, float scale; switch (net_type) { - case TRAINLINE: + case TRAINLINE: // Trainlines and access types use the z-coordinate + case ACCESS: // for cost scaling. scale = (float)node_a->position.z; scale += (float)node_b->position.z; scale /= 200; diff --git a/src/geojson.c b/src/geojson.c index 0db8f15..9372d24 100644 --- a/src/geojson.c +++ b/src/geojson.c @@ -102,7 +102,10 @@ int add_geojson_to_dijkstra(struct dijkstra_solver *solver, z_last = 0; // By default, let's assume height 0 break; case TRAINLINE: - z_last = 1000; // By default, let's assume 5x normal speed + z_last = 1000; // By default, let's assume 10x normal speed + break; + case ACCESS: + z_last = 10; // By default, let's introduce a penalty to get on the train (ACCESS walk 10x slower) break; default: z_last = -1;