-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpfaedle-cfg-import-rail.cfg
196 lines (161 loc) · 5.02 KB
/
pfaedle-cfg-import-rail.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
[rail]
# OSM entities to keep on different levels, as k=v. Applies
# to nodes, edges and relations.
# Nodes included in kept ways are always kept.
# Ways included in kept relations are always kept.
osm_filter_keep:
railway=rail
railway=light_rail
railway=tram
railway=narrow_gauge
route=rail
route=light_rail
route=train
public_transport=stop_area|rel_flat
osm_filter_lvl1:
usage=branch
osm_filter_lvl2:
railway=tram
service=siding
osm_filter_lvl3:
service=crossover
# we cannot completely drop service=yard, because it is often used
# incorrectly for crossovers
service=yard
osm_filter_lvl4:
osm_filter_lvl5:
usage=industrial
usage=military
usage=test
service=spur
railway:traffic_mode=freight
# OSM entities to drop, as k=v. Applies to nodes, edges and
# relations.
# Nodes included in non-dropped ways are kept regardless of
# a matching drop filter.
# Ways included in non-dropped relations are kept regardless of
# a matching drop filter.
osm_filter_drop:
railway=abandoned
railway=construction
railway=disused
railway=miniature
railway=signal
railway=razed
railway=proposed
metro=yes
area=yes
# access=no
type=multipolygon
railway=platform
public_transport=platform
building=yes
building=train_station
amenity=shelter
amenity=bus_station
building=roof
# Nodes that should act as "no-hup" nodes. These are nodes
# that are contained in multiple ways, but cannot be used
# to switch from one way to another (for example, a
# track crossing in rail networks)
osm_filter_nohup:
railway:switch=no
railway=railway_crossing
# Edges that should act as one-way nodes.
osm_filter_oneway:
oneway=yes
railway:preferred_direction=forward
osm_filter_oneway_reverse:
railway:preferred_direction=backward
# Edges that may explicitely be used in
# both directions. May be used to set exception
# to "osm_filter_oneway"
osm_filter_undirected:
oneway=false
oneway=no
oneway=-1
railway:preferred_direction=both
railway:bidirectional=regular
# Nodes that are stations.
# Only nodes that have been kept during the filtering above will be
# checked.
osm_filter_station:
public_transport=stop_position
railway=stop
railway=halt
railway=station
#railway=tram_stop
railway=subway_stop
tram_stop=*
stop=*
# Relation fields that should be used for catching the lines that
# occur on an edge. Only relations that have been kept during the
# filtering above will be checked. The 'linename' will be normalized
# according to the rules in line_normalization_chain.
# The 'from_name' and 'to_name' will be normalized according to the
# rules in station_normalization_chain.
# The relations tags are given in the order of their relevance -
# the first normalized tag-value that is not null/empty will be
# taken.
osm_line_relation_tags:
line_name=ref,name # careful, no space after/before comma allowed!
from_name=from
to_name=to
# max distance in meters between a snapped position on an
# edge and the input GTFS/OSM station
osm_max_snap_distance: 200
# max edge level to which station will be snapped
osm_max_snap_level: 2
# sorted by priority, first found attr will be taken
osm_station_name_attrs:
name
[public_transport=stop_area]name
uic_name
# the track number tag in edges, first match is taken
osm_edge_track_number_tags:
railway:track_ref
local_ref
ref
# the track number tag in stop nodes, first match is taken,
# overwrites osm_edge_track_number_tags
osm_track_number_tags:
local_ref
ref
# avg speed on segment levels, in km/h
osm_lvl0_avg_speed: 120 # default level
osm_lvl1_avg_speed: 90
osm_lvl2_avg_speed: 65
osm_lvl3_avg_speed: 50
osm_lvl4_avg_speed: 30
osm_lvl5_avg_speed: 20
osm_lvl6_avg_speed: 10
osm_lvl7_avg_speed: 5
# Punishment (in seconds) to add to the distance
# function if a vehicle performans a full turn
routing_full_turn_penalty: 180 # 3 minutes
# Penalty added to non-station placements
routing_non_station_penalty: 0.4
# If the station name does not match, add this penalty
routing_station_unmatched_penalty: 0.4
# If the platform does not match, add this penalty
routing_platform_unmatched_penalty: 0.1
# Max angle that should be counted as a full turn
routing_full_turn_angle: 100
# Max angle in a route from a station to an already reachable neighbar
routing_snap_full_turn_angle: 100
# Factor by which the vehicle slows down in a one way street (factor 5
# means it will take 5 times longer)
osm_one_way_speed_penalty_fac: 5
# Additional one-time time penalty for entering a one-way segment
# in seconds
osm_one_way_entry_cost: 300
# If a segment has no matching line attributes, multiply the
# time needed to traverse it with the given factor (should
# be > 1 for a punishment, values < 1 will prefer unmatching segments)
routing_line_unmatched_time_penalty_fac: 1.2
routing_line_station_to_unmatched_time_penalty: 1.1
routing_line_station_from_unmatched_time_penalty: 1.05
# If a segment has no line attributes at all, multiply the
# time needed to traverse it with the given factor (should
# be > 1 for a punishment, values < 1 will prefer unmatching segments)
# routing_no_lines_penalty_fac: 1