2018-07-01 18:14:24 +00:00
|
|
|
# Copyright 2018, University of Freiburg
|
|
|
|
# Chair of Algorithms and Datastructures
|
|
|
|
# Authors: Patrick Brosi <brosi@informatik.uni-freiburg.de>
|
|
|
|
|
2019-01-10 15:52:59 +00:00
|
|
|
[tram, bus, coach, subway, rail, gondola, funicular, ferry]
|
2022-01-03 21:27:59 +00:00
|
|
|
|
|
|
|
routing_transition_penalty_fac: 0.0083
|
2022-01-31 22:57:27 +00:00
|
|
|
routing_station_move_penalty_fac: 0.0039
|
2022-01-03 21:27:59 +00:00
|
|
|
|
2022-01-31 22:44:53 +00:00
|
|
|
station_similarity_classification_method: jaccard-geodist
|
2022-01-13 20:41:52 +00:00
|
|
|
|
2019-01-10 15:52:59 +00:00
|
|
|
# Regular expressions and station comparision is
|
|
|
|
# always case insensitive!
|
|
|
|
station_normalize_chain:
|
|
|
|
, -> ' ';
|
|
|
|
- -> ' ';
|
|
|
|
— -> ' ';
|
|
|
|
_ -> ' ';
|
|
|
|
" -> '';
|
|
|
|
' -> '';
|
|
|
|
` -> '';
|
|
|
|
\( -> ' ';
|
|
|
|
\) -> ' ';
|
|
|
|
\[ -> ' ';
|
|
|
|
\] -> ' ';
|
|
|
|
/ -> ' ';
|
|
|
|
'\\' -> ' ';
|
|
|
|
< -> ' ';
|
|
|
|
> -> ' ';
|
|
|
|
& -> '+';
|
|
|
|
Ä -> Ae;
|
|
|
|
Ö -> Oe;
|
|
|
|
Ü -> Ue;
|
|
|
|
ä -> ae;
|
|
|
|
ö -> oe;
|
|
|
|
ü -> ue;
|
|
|
|
ß -> ss;
|
|
|
|
è -> e;
|
|
|
|
é -> e;
|
|
|
|
á -> a;
|
|
|
|
à -> a;
|
|
|
|
ó -> o;
|
|
|
|
ò -> o;
|
|
|
|
ô -> o;
|
|
|
|
ç -> c;
|
|
|
|
í -> i;
|
|
|
|
ú -> u;
|
|
|
|
ù -> u;
|
|
|
|
ë -> e;
|
|
|
|
å -> ae;
|
|
|
|
â -> a;
|
|
|
|
ê -> e;
|
|
|
|
ï -> i;
|
|
|
|
œ -> oe;
|
|
|
|
ø -> oe;
|
|
|
|
str\. -> strasse;
|
|
|
|
av\. -> avenue;
|
|
|
|
|
|
|
|
# always separate 'street', 'strasse'
|
|
|
|
'([a-zA-Z])strasse($| )' -> '\1 strasse\2';
|
|
|
|
'([a-zA-Z])street($| )' -> '\1 street\2';
|
|
|
|
|
|
|
|
# always use "street"
|
|
|
|
'(^| )strasse($| )' -> '\1street\2';
|
|
|
|
|
|
|
|
# always use "avenue"
|
|
|
|
'(^| )avenida($| )' -> '\1avenue\2';
|
|
|
|
'(^| )avenu($| )' -> '\1avenue\2';
|
|
|
|
|
|
|
|
# normalize every possible abbr. of german "Bahnhof", "Hauptbahnhof", "Busbahnhof"
|
|
|
|
'(^| )hauptbf\.($| )' -> '\1hauptbahnhof\2';
|
|
|
|
'(^| )hauptbf($| )' -> '\1hauptbahnhof\2';
|
|
|
|
'(^| )hauptbhf\.($| )' -> '\1hauptbahnhof\2';
|
|
|
|
'(^| )hauptbhf($| )' -> '\1hauptbahnhof\2';
|
|
|
|
'(^| )zentraler busbahnhof($| )$' -> \1busbahnhof\2;
|
|
|
|
'(^| )zentraler omnibusbahnhof($| )$' -> \1busbahnhof\2;
|
|
|
|
'(^| )omnibusbahnhof($| )' -> '\1busbahnhof\2';
|
|
|
|
'(^| )omnibusbhf($| )' -> '\1busbahnhof\2';
|
|
|
|
'(^| )busbf\.($| )' -> '\1busbahnhof\2';
|
|
|
|
'(^| )busbf($| )' -> '\1busbahnhof\2';
|
|
|
|
'(^| )bus bf\.($| )' -> '\1busbahnhof\2';
|
|
|
|
'(^| )bus bf($| )' -> '\1busbahnhof\2';
|
|
|
|
'(^| )busbhf\.($| )' -> '\1busbahnhof\2';
|
|
|
|
'(^| )busbhf($| )' -> '\1busbahnhof\2';
|
|
|
|
'(^| )bus bhf\.($| )' -> '\1busbahnhof\2';
|
|
|
|
'(^| )bus bhf($| )' -> '\1busbahnhof\2';
|
|
|
|
'(^| )zob($| )' -> '\1busbahnhof\2';
|
|
|
|
'(^| )hbf\.($| )' -> '\1hauptbahnhof\2';
|
|
|
|
'(^| )hbf($| )' -> '\1hauptbahnhof\2';
|
|
|
|
'(^| )hb\.($| )' -> '\1hauptbahnhof\2';
|
|
|
|
'(^| )hb($| )' -> '\1hauptbahnhof\2';
|
|
|
|
'(^| )bf\.($| )' -> '\1bahnhof\2';
|
|
|
|
'(^| )bf($| )' -> '\1bahnhof\2';
|
|
|
|
'(^| )bhf\.($| )' -> '\1bahnhof\2';
|
|
|
|
'(^| )bhf($| )' -> '\1bahnhof\2';
|
|
|
|
'(^| )bhfeingang($| )' -> '\1bahnhofeingang\2';
|
|
|
|
'(^| )gare de($| )' -> '\1gare\2';
|
|
|
|
|
|
|
|
|
|
|
|
# if a stations starts with single station identifier
|
|
|
|
# always put it at the end (for example, "hauptbahnhof freiburg" becomes "freiburg hauptbahnhof")
|
|
|
|
'^hauptbahnhof (.+)$' -> \1 hauptbahnhof;
|
|
|
|
'^bahnhof (.+)$' -> \1 bahnhof;
|
|
|
|
'^busbahnhof (.+)$' -> \1 busbahnhof;
|
|
|
|
'^gare (.+)$' -> \1 gare;
|
|
|
|
'^station (.+)$' -> \1 station;
|
|
|
|
|
|
|
|
'(^| )busbahnhof($| )' -> '\1bbahnhof\2';
|
|
|
|
|
|
|
|
# normalize line types in station names
|
|
|
|
'(^| )u bahn\.($| )' -> '\1ubahn\2';
|
|
|
|
'(^| )metro\.($| )' -> '\1ubahn\2';
|
|
|
|
'(^| )subway\.($| )' -> '\1ubahn\2';
|
|
|
|
'(^| )underground\.($| )' -> '\1ubahn\2';
|
|
|
|
'(^| )ubahn($| )' -> '\1u\2';
|
|
|
|
'(^| )s bahn\.($| )' -> '\1sbahn\2';
|
|
|
|
'(^| )sbahn($| )' -> '\1s\2';
|
|
|
|
'(^| )tramway($| )' -> '\1tram\2';
|
|
|
|
'(^| )stadtbahn($| )' -> '\1tram\2';
|
|
|
|
'(^| )strassenbahn($| )' -> '\1tram\2';
|
|
|
|
'(^| )streetcar($| )' -> '\1tram\2';
|
|
|
|
'(^| )tram($| )' -> '\1t\2';
|
|
|
|
|
|
|
|
# delete track information from name
|
|
|
|
'(^| )kante [a-zA-Z0-9]{1,2}($| )' -> ' ';
|
|
|
|
'(^| )gleis [a-zA-Z0-9]{1,2}($| )' -> ' ';
|
|
|
|
'(^| )track [a-zA-Z0-9]{1,2}($| )' -> ' ';
|
|
|
|
'(^| )voie [a-zA-Z0-9]{1,2}($| )' -> ' ';
|
|
|
|
|
|
|
|
# abbrv
|
|
|
|
'(^| )und($| )' -> '\1+\2';
|
|
|
|
'(^| )and($| )' -> '\1+\2';
|
|
|
|
'(^| )et($| )' -> '\1+\2';
|
|
|
|
|
|
|
|
# noise
|
|
|
|
'\sde\s' -> ' ';
|
|
|
|
'\sda\s' -> ' ';
|
|
|
|
'\sdi\s' -> ' ';
|
|
|
|
'\sdel\s' -> ' ';
|
|
|
|
'\sdal\s' -> ' ';
|
|
|
|
|
|
|
|
# abbrv in most western languages
|
|
|
|
'(^| )saint ' -> '\1st. ';
|
|
|
|
'(^| )sankt ' -> '\1st. ';
|
|
|
|
'(^| )sanct ' -> '\1st. ';
|
|
|
|
|
|
|
|
\. -> ' ';
|
|
|
|
|
|
|
|
# whitespace
|
|
|
|
\s+ -> ' ';
|
|
|
|
^\s -> '';
|
|
|
|
\s$ -> '';
|
|
|
|
|
|
|
|
line_normalize_chain:
|
|
|
|
, -> ' ';
|
|
|
|
- -> ' ';
|
|
|
|
_ -> ' ';
|
|
|
|
" -> '';
|
|
|
|
' -> '';
|
|
|
|
` -> '';
|
|
|
|
/ -> ' ';
|
|
|
|
< -> ' ';
|
|
|
|
> -> ' ';
|
|
|
|
& -> '+';
|
|
|
|
ä -> ae;
|
|
|
|
ö -> oe;
|
|
|
|
ü -> ue;
|
|
|
|
Ä -> Ae;
|
|
|
|
Ö -> Oe;
|
|
|
|
Ü -> Ue;
|
|
|
|
ß -> ss;
|
|
|
|
è -> e;
|
|
|
|
é -> e;
|
|
|
|
á -> a;
|
|
|
|
à -> a;
|
|
|
|
ó -> o;
|
|
|
|
ò -> o;
|
|
|
|
í -> i;
|
|
|
|
ú -> u;
|
|
|
|
ù -> u;
|
|
|
|
ë -> e;
|
|
|
|
å -> ae;
|
|
|
|
ç -> c;
|
|
|
|
â -> a;
|
|
|
|
ê -> e;
|
|
|
|
ï -> i;
|
|
|
|
œ -> oe;
|
|
|
|
ø -> oe;
|
|
|
|
^line -> '';
|
|
|
|
^linie -> '';
|
|
|
|
^metro -> '';
|
|
|
|
^tram -> '';
|
|
|
|
^strassenbahn -> '';
|
|
|
|
^bus -> '';
|
|
|
|
|
|
|
|
# delete everything in brackets
|
|
|
|
\(.+\) -> ' ';
|
|
|
|
\[.+\] -> ' ';
|
|
|
|
|
|
|
|
# whitespace
|
|
|
|
\s+ -> ' ';
|
|
|
|
^\s -> '';
|
|
|
|
\s$ -> '';
|
|
|
|
|
|
|
|
# line/number combs ALWAYS without whitespace (T 2 -> T2)
|
|
|
|
^([a-zA-Z]+) ([0-9]+)$ -> \1\2;
|
|
|
|
|
|
|
|
track_normalize_chain:
|
|
|
|
'(^| )gleis($| )' -> '';
|
|
|
|
'(^| )gl\.($| )' -> '';
|
|
|
|
'(^| )platform($| )' -> '';
|
|
|
|
'(^| )track($| )' -> '';
|
|
|
|
'(^| )rail($| )' -> '';
|
|
|
|
# line/number combs ALWAYS without whitespace (1 A -> 1A)
|
|
|
|
^([a-zA-Z]+) ([0-9]+)$ -> \1\2;
|
|
|
|
^([0-9]+) ([a-zA-Z]+)$ -> \1\2;
|
|
|
|
|
|
|
|
# delete track numbers greater than 999
|
|
|
|
^[0-9]{4,}$ -> '';
|
|
|
|
|
2018-07-01 18:14:24 +00:00
|
|
|
[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
|
2019-01-10 15:52:59 +00:00
|
|
|
railway=tram
|
2018-07-01 18:14:24 +00:00
|
|
|
railway=narrow_gauge
|
|
|
|
route=rail
|
2019-01-10 15:52:59 +00:00
|
|
|
route=light_rail
|
2018-07-01 18:14:24 +00:00
|
|
|
route=train
|
|
|
|
public_transport=stop_area|rel_flat
|
|
|
|
|
|
|
|
osm_filter_lvl1:
|
|
|
|
usage=branch
|
|
|
|
|
|
|
|
osm_filter_lvl2:
|
2019-01-10 15:52:59 +00:00
|
|
|
railway=tram
|
|
|
|
service=siding
|
2018-07-01 18:14:24 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# max distance in meters between a snapped position on an
|
|
|
|
# edge and the input GTFS/OSM station
|
|
|
|
osm_max_snap_distance: 200
|
2018-07-01 18:14:24 +00:00
|
|
|
|
|
|
|
# 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
|
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# 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
|
2018-07-01 18:14:24 +00:00
|
|
|
# function if a vehicle performans a full turn
|
2022-01-03 21:27:59 +00:00
|
|
|
routing_full_turn_penalty: 180 # 3 minutes
|
2018-07-01 18:14:24 +00:00
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# Penalty added to non-station placements
|
2022-02-01 00:59:42 +00:00
|
|
|
routing_non_station_penalty: 0.3
|
2018-07-01 18:14:24 +00:00
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# If the station name does not match, add this penalty
|
|
|
|
routing_station_unmatched_penalty: 0.3
|
2018-07-01 18:14:24 +00:00
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# If the platform does not match, add this penalty
|
|
|
|
routing_platform_unmatched_penalty: 0.1
|
|
|
|
|
2018-07-01 18:14:24 +00:00
|
|
|
# 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
|
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# 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
|
2018-07-01 18:14:24 +00:00
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# Additional one-time time penalty for entering a one-way segment
|
|
|
|
# in seconds
|
|
|
|
osm_one_way_entry_cost: 300
|
2018-07-01 18:14:24 +00:00
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# 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.5
|
|
|
|
routing_line_station_to_unmatched_time_penalty: 1.2
|
|
|
|
routing_line_station_from_unmatched_time_penalty: 1.1
|
2018-07-01 18:14:24 +00:00
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# 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
|
2020-10-13 18:27:20 +00:00
|
|
|
|
2018-07-01 18:14:24 +00:00
|
|
|
# special line normalization for trains
|
|
|
|
line_normalize_chain:
|
|
|
|
, -> ' ';
|
|
|
|
- -> ' ';
|
|
|
|
_ -> ' ';
|
|
|
|
" -> '';
|
|
|
|
' -> '';
|
|
|
|
` -> '';
|
|
|
|
/ -> ' ';
|
|
|
|
< -> ' ';
|
|
|
|
> -> ' ';
|
|
|
|
& -> '+';
|
|
|
|
ä -> ae;
|
|
|
|
ö -> oe;
|
|
|
|
ü -> ue;
|
2019-01-10 15:52:59 +00:00
|
|
|
Ä -> Ae;
|
|
|
|
Ö -> Oe;
|
|
|
|
Ü -> Ue;
|
2018-07-01 18:14:24 +00:00
|
|
|
ß -> ss;
|
|
|
|
è -> e;
|
|
|
|
é -> e;
|
|
|
|
á -> a;
|
|
|
|
à -> a;
|
|
|
|
ó -> o;
|
|
|
|
ò -> o;
|
|
|
|
í -> i;
|
|
|
|
ú -> u;
|
|
|
|
ù -> u;
|
|
|
|
ë -> e;
|
|
|
|
ç -> c;
|
|
|
|
å -> ae;
|
|
|
|
â -> a;
|
|
|
|
ê -> e;
|
|
|
|
ï -> i;
|
|
|
|
œ -> oe;
|
|
|
|
ø -> oe;
|
|
|
|
^line -> '';
|
|
|
|
^linie -> '';
|
|
|
|
^metro -> '';
|
|
|
|
^tram -> '';
|
|
|
|
^strassenbahn -> '';
|
|
|
|
^bus -> '';
|
|
|
|
|
|
|
|
# delete everything in brackets
|
|
|
|
\(.+\) -> ' ';
|
|
|
|
\[.+\] -> ' ';
|
|
|
|
|
|
|
|
# whitespace
|
|
|
|
\s+ -> ' ';
|
|
|
|
^\s -> '';
|
|
|
|
\s$ -> '';
|
|
|
|
|
|
|
|
# line/number combs ALWAYS with whitespace (ICE101 -> ICE 101)
|
|
|
|
^([a-zA-Z]+)([0-9]+)$ -> \1 \2;
|
|
|
|
|
|
|
|
# if a character line number is present, delete the numeric part
|
|
|
|
^([a-zA-Z]+) [0-9]+$ -> \1;
|
|
|
|
|
2019-01-10 15:52:59 +00:00
|
|
|
track_normalize_chain:
|
|
|
|
'(^| )gleis($| )' -> '';
|
|
|
|
'(^| )gl\.($| )' -> '';
|
|
|
|
'(^| )platform($| )' -> '';
|
|
|
|
'(^| )track($| )' -> '';
|
|
|
|
'(^| )rail($| )' -> '';
|
|
|
|
^([a-zA-Z]+) ([0-9]+)$ -> \1\2;
|
|
|
|
# number/char combs ALWAYS without char
|
|
|
|
^([0-9]+) ([a-zA-Z]+)$ -> \1;
|
|
|
|
^([0-9]+)([a-zA-Z]+)$ -> \1;
|
|
|
|
|
|
|
|
# delete track numbers greater than 999
|
|
|
|
^[0-9]{4,}$ -> '';
|
|
|
|
|
|
|
|
[bus, coach]
|
2018-07-01 18:14:24 +00:00
|
|
|
|
|
|
|
# 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:
|
|
|
|
# highways
|
|
|
|
highway=motorway
|
|
|
|
highway=trunk
|
|
|
|
highway=primary
|
|
|
|
highway=secondary
|
|
|
|
highway=tertiary
|
|
|
|
highway=residential
|
|
|
|
highway=living_street
|
|
|
|
highway=unclassified
|
|
|
|
|
|
|
|
# highway links
|
|
|
|
highway=motorway_link
|
|
|
|
highway=trunk_link
|
|
|
|
highway=primary_link
|
|
|
|
highway=secondary_link
|
|
|
|
highway=tertiary_link
|
|
|
|
highway=residential_link
|
|
|
|
|
|
|
|
way=primary
|
|
|
|
way=seconday
|
|
|
|
way=bus_guideway
|
|
|
|
highway=bus_guideway
|
|
|
|
busway=*
|
|
|
|
psv=yes
|
|
|
|
psv=designated
|
|
|
|
|
2019-01-10 15:52:59 +00:00
|
|
|
bus:lanes=yes
|
|
|
|
bus:lanes=designated
|
|
|
|
bus:lanes=1
|
|
|
|
|
|
|
|
lanes:bus=1
|
|
|
|
lanes:bus=2
|
|
|
|
lanes:bus=3
|
|
|
|
|
|
|
|
lanes:psv=1
|
|
|
|
lanes:psv=2
|
|
|
|
lanes:psv=3
|
|
|
|
|
2018-07-01 18:14:24 +00:00
|
|
|
trolley_wire=yes
|
|
|
|
trolleywire=yes
|
|
|
|
trolleybus=yes
|
|
|
|
trolley_bus=yes
|
|
|
|
|
|
|
|
route=bus
|
|
|
|
route=trolleybus
|
|
|
|
bus=yes
|
2018-08-09 18:55:23 +00:00
|
|
|
bus=designated
|
|
|
|
minibus=designated
|
|
|
|
minibus=yes
|
2018-07-01 18:14:24 +00:00
|
|
|
|
|
|
|
public_transport=stop_position
|
|
|
|
bus_stop=*
|
|
|
|
stop=*
|
|
|
|
highway=bus_stop
|
|
|
|
amenity=bus_station|no_match_ways|no_match_rels
|
|
|
|
|
|
|
|
# relations for the restriction system
|
|
|
|
type=restriction
|
|
|
|
type=restriction:bus
|
|
|
|
type=restriction:motorcar
|
|
|
|
|
|
|
|
osm_filter_lvl1:
|
2022-01-03 21:27:59 +00:00
|
|
|
highway=trunk
|
|
|
|
highway=trunk_link
|
|
|
|
highway=primary
|
|
|
|
highway=primary_link
|
|
|
|
|
|
|
|
osm_filter_lvl2:
|
2018-07-01 18:14:24 +00:00
|
|
|
highway=secondary
|
|
|
|
highway=secondary_link
|
|
|
|
bus=yes
|
2018-08-09 18:55:23 +00:00
|
|
|
bus=designated
|
|
|
|
minibus=yes
|
|
|
|
minibus=designated
|
|
|
|
psv=designated
|
2018-07-01 18:14:24 +00:00
|
|
|
psv=yes
|
|
|
|
access=psv
|
|
|
|
access=bus
|
|
|
|
trolley_wire=yes
|
|
|
|
trolleywire=yes
|
|
|
|
trolleybus=yes
|
|
|
|
trolley_bus=yes
|
|
|
|
psv=designated
|
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
osm_filter_lvl3:
|
2018-07-01 18:14:24 +00:00
|
|
|
highway=tertiary
|
|
|
|
highway=tertiary_link
|
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
osm_filter_lvl4:
|
2018-07-01 18:14:24 +00:00
|
|
|
highway=unclassified
|
|
|
|
highway=residential
|
|
|
|
highway=road
|
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
osm_filter_lvl5:
|
2018-07-01 18:14:24 +00:00
|
|
|
highway=living_street
|
|
|
|
highway=pedestrian
|
|
|
|
highway=service
|
2018-08-01 12:25:54 +00:00
|
|
|
psv=no
|
2018-07-01 18:14:24 +00:00
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
osm_filter_lvl6:
|
2018-08-01 12:25:54 +00:00
|
|
|
bus=no
|
2018-07-01 18:14:24 +00:00
|
|
|
service=siding
|
|
|
|
access=permissive
|
|
|
|
access=private
|
|
|
|
access=no
|
|
|
|
service=parking_aisle
|
|
|
|
highway=footway
|
2022-01-03 21:27:59 +00:00
|
|
|
highway=track
|
2018-07-01 18:14:24 +00:00
|
|
|
|
|
|
|
# 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:
|
|
|
|
area=yes
|
|
|
|
train=yes|no_match_ways
|
|
|
|
# access=no
|
|
|
|
public_transport=stop_area|no_match_nds|no_match_rels
|
|
|
|
type=multipolygon
|
|
|
|
railway=platform
|
|
|
|
railway=station
|
|
|
|
# service=parking_aisle
|
|
|
|
highway=proposed
|
|
|
|
highway=footway
|
|
|
|
highway=construction
|
|
|
|
building=yes
|
|
|
|
building=train_station
|
|
|
|
leisure=garden
|
|
|
|
leisure=park
|
|
|
|
|
|
|
|
# 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:
|
|
|
|
|
|
|
|
# Configuration of the OSM road restriction system
|
|
|
|
# We only support restriction with a single via node
|
|
|
|
# atm
|
|
|
|
|
|
|
|
osm_node_negative_restriction:
|
|
|
|
restriction=no_right_turn
|
|
|
|
restriction=no_left_turn
|
|
|
|
restriction=no_u_turn
|
|
|
|
restriction=no_straight_on
|
|
|
|
restriction:bus=no_right_turn
|
|
|
|
restriction:bus=no_left_turn
|
|
|
|
restriction:bus=no_u_turn
|
|
|
|
restriction:bus=no_straight_on
|
|
|
|
|
|
|
|
osm_node_positive_restriction:
|
|
|
|
restriction=only_left_turn
|
|
|
|
restriction=only_straight_on
|
|
|
|
restriction=only_right_turn
|
|
|
|
restriction:bus=only_left_turn
|
|
|
|
restriction:bus=only_straight_on
|
|
|
|
restriction:bus=only_right_turn
|
|
|
|
|
|
|
|
osm_filter_no_restriction:
|
|
|
|
except=psv|mult_val_match
|
|
|
|
except=bus|mult_val_match
|
|
|
|
|
|
|
|
# Edges that should act as one-way nodes.
|
|
|
|
|
|
|
|
osm_filter_oneway:
|
|
|
|
junction=roundabout # oneway=yes is implied
|
|
|
|
highway=motorway # oneway=yes is implied
|
|
|
|
oneway=yes
|
|
|
|
oneway=1
|
|
|
|
oneway=true
|
|
|
|
oneway:bus=yes
|
|
|
|
oneway:bus=1
|
|
|
|
oneway:bus=true
|
|
|
|
oneway:psv=yes
|
|
|
|
oneway:psv=1
|
|
|
|
oneway:psv=true
|
|
|
|
|
|
|
|
osm_filter_oneway_reverse:
|
|
|
|
oneway=-1
|
|
|
|
|
|
|
|
# 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=0
|
|
|
|
oneway=alternating
|
|
|
|
oneway=reversible
|
|
|
|
oneway=no
|
|
|
|
oneway:bus=no
|
|
|
|
oneway:bus=0
|
|
|
|
oneway:bus=false
|
|
|
|
oneway:psv=no
|
|
|
|
oneway:psv=0
|
|
|
|
oneway:psv=false
|
|
|
|
busway=opposite_lane
|
|
|
|
busway=opposite
|
|
|
|
busway:left=opposite_lane
|
|
|
|
busway:right=opposite_lane
|
|
|
|
psv=opposite_lane
|
|
|
|
psv=opposite
|
2019-01-10 15:52:59 +00:00
|
|
|
lanes:psv:backward=1
|
|
|
|
lanes:psv:backward=2
|
|
|
|
lanes:bus:backward=1
|
|
|
|
lanes:bus:backward=2
|
|
|
|
bus:lanes:backward=yes
|
|
|
|
bus:lanes:backward=designated
|
|
|
|
bus:lanes:backward=1
|
|
|
|
|
2018-07-01 18:14:24 +00:00
|
|
|
|
|
|
|
# Nodes that are stations.
|
|
|
|
# Only nodes that have been kept during the filtering above will be
|
|
|
|
# checked.
|
|
|
|
osm_filter_station:
|
|
|
|
public_transport=stop_position
|
|
|
|
bus_stop=*
|
|
|
|
stop=*
|
|
|
|
highway=bus_stop
|
|
|
|
amenity=bus_station
|
|
|
|
|
2022-01-12 19:21:27 +00:00
|
|
|
osm_filter_turning_circle:
|
|
|
|
highway=turning_circle
|
2022-01-03 21:27:59 +00:00
|
|
|
highway=turning_loop
|
|
|
|
junction=roundabout
|
|
|
|
highway=mini_roundabout
|
|
|
|
|
2018-07-01 18:14:24 +00:00
|
|
|
# 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
|
2022-01-03 21:27:59 +00:00
|
|
|
line_color=colour,color
|
2018-07-01 18:14:24 +00:00
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# max distance in meters between a OSM station candidate
|
|
|
|
# and the input GTFS station
|
|
|
|
osm_max_station_cand_distance: 200
|
2018-07-01 18:14:24 +00:00
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# max distance in meters between a snapped position on an
|
|
|
|
# edge and the input GTFS/OSM station
|
|
|
|
osm_max_snap_distance: 100
|
2018-07-01 18:14:24 +00:00
|
|
|
|
|
|
|
osm_max_snap_level: 5
|
|
|
|
|
|
|
|
# sorted by priority, first found attr will be taken
|
|
|
|
osm_station_name_attrs:
|
|
|
|
name
|
|
|
|
uic_name
|
|
|
|
|
|
|
|
# the track number tag in stop nodes, first one is taken
|
|
|
|
osm_track_number_tags: local_ref
|
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# avg speed on segment levels, in km/h
|
|
|
|
osm_lvl0_avg_speed: 85 # default level
|
|
|
|
osm_lvl1_avg_speed: 70
|
|
|
|
osm_lvl2_avg_speed: 55
|
|
|
|
osm_lvl3_avg_speed: 40
|
|
|
|
osm_lvl4_avg_speed: 30
|
|
|
|
osm_lvl5_avg_speed: 20
|
|
|
|
osm_lvl6_avg_speed: 10
|
|
|
|
osm_lvl7_avg_speed: 5
|
|
|
|
|
|
|
|
# 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.5
|
|
|
|
routing_line_station_to_unmatched_time_penalty: 1.2
|
|
|
|
routing_line_station_from_unmatched_time_penalty: 1.1
|
|
|
|
|
|
|
|
# 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
|
|
|
|
|
|
|
|
# If the station name does not match, add this penalty
|
2022-01-12 19:21:27 +00:00
|
|
|
routing_station_unmatched_penalty: 0.2
|
2022-01-03 21:27:59 +00:00
|
|
|
|
|
|
|
# Punishment (in seconds) to add to the distance
|
2018-07-01 18:14:24 +00:00
|
|
|
# function if a vehicle performans a full turn
|
2022-01-03 21:27:59 +00:00
|
|
|
routing_full_turn_penalty: 120 # 2 minutes
|
2018-07-01 18:14:24 +00:00
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# Penalty added to non-station placements
|
2022-02-01 00:59:42 +00:00
|
|
|
routing_non_station_penalty: 0.3
|
2018-07-01 18:14:24 +00:00
|
|
|
|
|
|
|
# Max angle that should be counted as a full turn
|
|
|
|
routing_full_turn_angle: 20
|
|
|
|
|
|
|
|
# Max angle in a route from a station to an already reachable neighbor
|
|
|
|
routing_snap_full_turn_angle: 110
|
|
|
|
|
|
|
|
osm_max_node_block_distance: 10
|
|
|
|
|
2020-10-13 18:27:20 +00:00
|
|
|
|
2019-01-10 15:52:59 +00:00
|
|
|
[coach]
|
2018-07-01 18:14:24 +00:00
|
|
|
|
|
|
|
# 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.
|
|
|
|
|
2019-01-10 15:52:59 +00:00
|
|
|
osm_filter_lvl0:
|
|
|
|
highway=motorway
|
|
|
|
highway=motorway_link
|
2018-07-01 18:14:24 +00:00
|
|
|
|
2019-01-10 15:52:59 +00:00
|
|
|
osm_filter_lvl1:
|
|
|
|
highway=trunk
|
|
|
|
highway=trunk_link
|
2018-07-01 18:14:24 +00:00
|
|
|
|
2019-01-10 15:52:59 +00:00
|
|
|
osm_filter_lvl2:
|
|
|
|
highway=primary
|
|
|
|
highway=primary_link
|
|
|
|
|
|
|
|
osm_filter_lvl3:
|
|
|
|
highway=secondary
|
|
|
|
highway=secondary_link
|
|
|
|
|
|
|
|
osm_filter_lvl4:
|
|
|
|
highway=tertiary
|
|
|
|
highway=tertiary_link
|
|
|
|
|
|
|
|
osm_filter_lvl5:
|
|
|
|
highway=unclassified
|
|
|
|
highway=residential
|
|
|
|
highway=road
|
|
|
|
highway=service
|
|
|
|
|
|
|
|
osm_filter_lvl6:
|
|
|
|
highway=living_street
|
|
|
|
highway=pedestrian
|
|
|
|
psv=no
|
|
|
|
|
|
|
|
osm_filter_lvl7:
|
|
|
|
bus=no
|
|
|
|
service=siding
|
|
|
|
access=permissive
|
|
|
|
access=private
|
|
|
|
access=no
|
|
|
|
service=parking_aisle
|
|
|
|
highway=footway
|
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
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
|
2019-01-10 15:52:59 +00:00
|
|
|
|
|
|
|
osm_max_snap_level: 5
|
|
|
|
|
|
|
|
[tram, subway]
|
|
|
|
|
|
|
|
# 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:
|
|
|
|
route=tram
|
|
|
|
route=funicular
|
|
|
|
railway=subway
|
|
|
|
railway=light_rail
|
|
|
|
railway=tram
|
|
|
|
railway=funicular
|
|
|
|
railway=station
|
|
|
|
railway=halt
|
|
|
|
railway=tram_stop
|
|
|
|
route=subway
|
|
|
|
route=light_rail
|
|
|
|
subway=yes
|
|
|
|
tram=yes
|
|
|
|
|
|
|
|
osm_filter_lvl2:
|
|
|
|
service=siding
|
|
|
|
|
|
|
|
osm_filter_lvl3:
|
|
|
|
railway=funicular
|
|
|
|
route=funicular
|
|
|
|
|
|
|
|
osm_filter_lvl5:
|
|
|
|
service=crossover
|
|
|
|
service=yard
|
|
|
|
|
|
|
|
# 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:
|
|
|
|
area=yes
|
|
|
|
public_transport=stop_area
|
|
|
|
type=multipolygon
|
|
|
|
railway=platform
|
|
|
|
public_transport=platform
|
|
|
|
service=alley
|
|
|
|
|
|
|
|
# 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
|
|
|
|
|
|
|
|
# Edges that may explicitely be used in
|
|
|
|
# both directions. May be used to set exception
|
|
|
|
# to "osm_filter_oneway"
|
|
|
|
|
|
|
|
osm_filter_undirected:
|
|
|
|
|
|
|
|
# Nodes that are stations.
|
|
|
|
# Only nodes that have been kept during the filtering above will be
|
|
|
|
# checked.
|
|
|
|
osm_filter_station:
|
|
|
|
public_transport=stop_position
|
|
|
|
station=subway
|
|
|
|
station=tram
|
|
|
|
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
|
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# max distance in meters between a snapped position on an
|
|
|
|
# edge and the input GTFS/OSM station
|
|
|
|
osm_max_snap_distance: 100
|
2019-01-10 15:52:59 +00:00
|
|
|
|
|
|
|
osm_max_snap_level: 4
|
|
|
|
|
|
|
|
|
|
|
|
# sorted by priority, first found attr will be taken
|
|
|
|
osm_station_name_attrs:
|
|
|
|
name
|
|
|
|
uic_name
|
|
|
|
|
|
|
|
# the track number tag in stop nodes, first one is taken
|
|
|
|
osm_track_number_tags: local_ref
|
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# avg speed on segment levels, in km/h
|
|
|
|
osm_lvl0_avg_speed: 85 # default level
|
|
|
|
osm_lvl1_avg_speed: 70
|
|
|
|
osm_lvl2_avg_speed: 55
|
|
|
|
osm_lvl3_avg_speed: 40
|
|
|
|
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
|
2019-01-10 15:52:59 +00:00
|
|
|
# function if a vehicle performans a full turn
|
2022-01-03 21:27:59 +00:00
|
|
|
routing_full_turn_penalty: 180 # 3 minutes
|
2019-01-10 15:52:59 +00:00
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# Penalty added to non-station placements
|
2022-02-01 00:59:42 +00:00
|
|
|
routing_non_station_penalty: 0.3
|
2019-01-10 15:52:59 +00:00
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# If the station name does not match, add this penalty
|
|
|
|
routing_station_unmatched_penalty: 0.3
|
2019-01-10 15:52:59 +00:00
|
|
|
|
|
|
|
# Max angle that should be counted as a full turn
|
|
|
|
routing_full_turn_angle: 80
|
|
|
|
|
|
|
|
# Max angle in a route from a station to an already reachable neighbar
|
|
|
|
routing_snap_full_turn_angle: 80
|
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# 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: 2
|
2019-01-10 15:52:59 +00:00
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# 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.5
|
|
|
|
routing_line_station_to_unmatched_time_penalty: 1.2
|
|
|
|
routing_line_station_from_unmatched_time_penalty: 1.1
|
2019-01-10 15:52:59 +00:00
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# 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
|
2020-10-13 18:27:20 +00:00
|
|
|
|
2019-01-10 15:52:59 +00:00
|
|
|
[gondola]
|
|
|
|
|
|
|
|
# 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:
|
|
|
|
aerialway=gondola
|
|
|
|
aerialway=cable_car
|
|
|
|
aerialway=chair_lift
|
|
|
|
aerialway=mixed_lift
|
|
|
|
|
|
|
|
|
|
|
|
# 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:
|
|
|
|
area=yes
|
|
|
|
public_transport=stop_area
|
|
|
|
type=multipolygon
|
|
|
|
railway=platform
|
|
|
|
public_transport=platform
|
|
|
|
service=alley
|
|
|
|
|
|
|
|
# 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:
|
|
|
|
|
|
|
|
# Edges that should act as one-way nodes.
|
|
|
|
|
|
|
|
osm_filter_oneway:
|
|
|
|
oneway=yes
|
|
|
|
|
|
|
|
# Edges that may explicitely be used in
|
|
|
|
# both directions. May be used to set exception
|
|
|
|
# to "osm_filter_oneway"
|
|
|
|
|
|
|
|
osm_filter_undirected:
|
|
|
|
|
|
|
|
# Nodes that are stations.
|
|
|
|
# Only nodes that have been kept during the filtering above will be
|
|
|
|
# checked.
|
|
|
|
osm_filter_station:
|
|
|
|
aerialway=station
|
|
|
|
aerialway=stop
|
|
|
|
public_transport=stop_position
|
|
|
|
station=subway
|
|
|
|
station=tram
|
|
|
|
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
|
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# max distance in meters between a snapped position on an
|
|
|
|
# edge and the input GTFS/OSM station
|
|
|
|
osm_max_snap_distance: 100
|
2019-01-10 15:52:59 +00:00
|
|
|
|
|
|
|
osm_max_snap_level: 4
|
|
|
|
|
|
|
|
|
|
|
|
# sorted by priority, first found attr will be taken
|
|
|
|
osm_station_name_attrs:
|
|
|
|
name
|
|
|
|
uic_name
|
|
|
|
|
|
|
|
# the track number tag in stop nodes, first one is taken
|
|
|
|
osm_track_number_tags: local_ref
|
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# avg speed on segment levels, in km/h
|
|
|
|
osm_lvl0_avg_speed: 85 # default level
|
|
|
|
osm_lvl1_avg_speed: 70
|
|
|
|
osm_lvl2_avg_speed: 55
|
|
|
|
osm_lvl3_avg_speed: 40
|
|
|
|
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
|
2019-01-10 15:52:59 +00:00
|
|
|
# function if a vehicle performans a full turn
|
2022-01-03 21:27:59 +00:00
|
|
|
routing_full_turn_penalty: 120 # 2 minutes
|
2019-01-10 15:52:59 +00:00
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# Penalty added to non-station placements
|
2022-02-01 00:59:42 +00:00
|
|
|
routing_non_station_penalty: 0.3
|
2019-01-10 15:52:59 +00:00
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# If the station name does not match, add this penalty
|
|
|
|
routing_station_unmatched_penalty: 0.3
|
2019-01-10 15:52:59 +00:00
|
|
|
|
|
|
|
# Max angle that should be counted as a full turn
|
|
|
|
routing_full_turn_angle: 80
|
|
|
|
|
|
|
|
# Max angle in a route from a station to an already reachable neighbar
|
|
|
|
routing_snap_full_turn_angle: 80
|
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# 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: 2
|
2019-01-10 15:52:59 +00:00
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# 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.15
|
|
|
|
routing_line_station_from_unmatched_time_penalty: 1.1
|
2019-01-10 15:52:59 +00:00
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# 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
|
2020-10-13 18:27:20 +00:00
|
|
|
|
2019-01-10 15:52:59 +00:00
|
|
|
[funicular]
|
|
|
|
|
|
|
|
# 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:
|
|
|
|
route=funicular
|
|
|
|
railway=funicular
|
|
|
|
railway=narrow_gauge
|
|
|
|
route=tram
|
|
|
|
railway=subway
|
|
|
|
railway=light_rail
|
|
|
|
railway=tram
|
|
|
|
railway=station
|
|
|
|
railway=halt
|
|
|
|
railway=tram_stop
|
|
|
|
route=subway
|
|
|
|
route=light_rail
|
|
|
|
subway=yes
|
|
|
|
tram=yes
|
|
|
|
|
|
|
|
osm_filter_lvl2:
|
|
|
|
service=siding
|
|
|
|
|
|
|
|
osm_filter_lvl3:
|
|
|
|
route=tram
|
|
|
|
route=narrow_gauge
|
|
|
|
railway=subway
|
|
|
|
railway=narrow_gauge
|
|
|
|
railway=light_rail
|
|
|
|
railway=tram
|
|
|
|
railway=station
|
|
|
|
railway=halt
|
|
|
|
railway=tram_stop
|
|
|
|
route=subway
|
|
|
|
route=light_rail
|
|
|
|
subway=yes
|
|
|
|
tram=yes
|
|
|
|
|
|
|
|
osm_filter_lvl5:
|
|
|
|
service=crossover
|
|
|
|
service=yard
|
|
|
|
|
|
|
|
# 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.
|
2018-07-01 18:14:24 +00:00
|
|
|
|
|
|
|
osm_filter_drop:
|
|
|
|
area=yes
|
|
|
|
public_transport=stop_area
|
|
|
|
type=multipolygon
|
|
|
|
railway=platform
|
|
|
|
public_transport=platform
|
|
|
|
service=alley
|
|
|
|
|
|
|
|
# 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
|
|
|
|
|
|
|
|
# Edges that may explicitely be used in
|
|
|
|
# both directions. May be used to set exception
|
|
|
|
# to "osm_filter_oneway"
|
|
|
|
|
|
|
|
osm_filter_undirected:
|
|
|
|
|
|
|
|
# Nodes that are stations.
|
|
|
|
# Only nodes that have been kept during the filtering above will be
|
|
|
|
# checked.
|
|
|
|
osm_filter_station:
|
|
|
|
public_transport=stop_position
|
|
|
|
station=subway
|
|
|
|
station=tram
|
|
|
|
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
|
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# max distance in meters between a snapped position on an
|
|
|
|
# edge and the input GTFS/OSM station
|
|
|
|
osm_max_snap_distance: 100
|
2018-07-01 18:14:24 +00:00
|
|
|
|
|
|
|
osm_max_snap_level: 4
|
|
|
|
|
|
|
|
|
|
|
|
# sorted by priority, first found attr will be taken
|
|
|
|
osm_station_name_attrs:
|
|
|
|
name
|
|
|
|
uic_name
|
|
|
|
|
|
|
|
# the track number tag in stop nodes, first one is taken
|
|
|
|
osm_track_number_tags: local_ref
|
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# avg speed on segment levels, in km/h
|
|
|
|
osm_lvl0_avg_speed: 85 # default level
|
|
|
|
osm_lvl1_avg_speed: 70
|
|
|
|
osm_lvl2_avg_speed: 55
|
|
|
|
osm_lvl3_avg_speed: 40
|
|
|
|
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
|
2018-07-01 18:14:24 +00:00
|
|
|
# function if a vehicle performans a full turn
|
2022-01-03 21:27:59 +00:00
|
|
|
routing_full_turn_penalty: 120 # 2 minutes
|
2018-07-01 18:14:24 +00:00
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# Penalty added to non-station placements
|
2022-02-01 00:59:42 +00:00
|
|
|
routing_non_station_penalty: 0.3
|
2018-07-01 18:14:24 +00:00
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# If the station name does not match, add this penalty
|
|
|
|
routing_station_unmatched_penalty: 0.3
|
2018-07-01 18:14:24 +00:00
|
|
|
|
|
|
|
# Max angle that should be counted as a full turn
|
|
|
|
routing_full_turn_angle: 80
|
|
|
|
|
|
|
|
# Max angle in a route from a station to an already reachable neighbar
|
|
|
|
routing_snap_full_turn_angle: 80
|
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# 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: 2
|
2018-07-01 18:14:24 +00:00
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# 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.15
|
|
|
|
routing_line_station_from_unmatched_time_penalty: 1.1
|
2018-07-01 18:14:24 +00:00
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# 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
|
2020-10-13 18:27:20 +00:00
|
|
|
|
2018-07-01 18:14:24 +00:00
|
|
|
[ferry]
|
|
|
|
|
|
|
|
# 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:
|
|
|
|
route=ferry
|
|
|
|
waterway=river
|
|
|
|
motorboat=yes
|
|
|
|
ferry=yes
|
|
|
|
|
|
|
|
# Nodes that are stations.
|
|
|
|
# Only nodes that have been kept during the filtering above will be
|
|
|
|
# checked.
|
|
|
|
osm_filter_station:
|
2022-01-03 21:27:59 +00:00
|
|
|
ferry=yes
|
2018-07-01 18:14:24 +00:00
|
|
|
public_transport=stop_position
|
2022-01-03 21:27:59 +00:00
|
|
|
amenity=ferry_terminal
|
|
|
|
mooring=ferry
|
2018-07-01 18:14:24 +00:00
|
|
|
station=ferry
|
|
|
|
railway=stop
|
|
|
|
railway=halt
|
|
|
|
railway=station
|
|
|
|
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
|
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# max distance in meters between a snapped position on an
|
|
|
|
# edge and the input GTFS/OSM station
|
|
|
|
osm_max_snap_distance: 500
|
2018-07-01 18:14:24 +00:00
|
|
|
|
|
|
|
osm_max_snap_level: 4
|
|
|
|
|
|
|
|
|
|
|
|
# sorted by priority, first found attr will be taken
|
|
|
|
osm_station_name_attrs:
|
|
|
|
name
|
|
|
|
uic_name
|
|
|
|
|
|
|
|
# the track number tag in stop nodes, first one is taken
|
|
|
|
osm_track_number_tags: local_ref
|
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# avg speed on segment levels, in km/h
|
|
|
|
osm_lvl0_avg_speed: 70 # default level
|
|
|
|
osm_lvl1_avg_speed: 60
|
|
|
|
osm_lvl2_avg_speed: 50
|
|
|
|
osm_lvl3_avg_speed: 35
|
|
|
|
osm_lvl4_avg_speed: 30
|
|
|
|
osm_lvl5_avg_speed: 25
|
|
|
|
osm_lvl6_avg_speed: 10
|
|
|
|
osm_lvl7_avg_speed: 5
|
|
|
|
|
|
|
|
# Punishment (in seconds) to add to the distance
|
2018-07-01 18:14:24 +00:00
|
|
|
# function if a vehicle performans a full turn
|
2022-01-03 21:27:59 +00:00
|
|
|
routing_full_turn_penalty: 120 # 2 minutes
|
2018-07-01 18:14:24 +00:00
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# Penalty added to non-station placements
|
2022-02-01 00:59:42 +00:00
|
|
|
routing_non_station_penalty: 0.3
|
2018-07-01 18:14:24 +00:00
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# If the station name does not match, add this penalty
|
|
|
|
routing_station_unmatched_penalty: 0.3
|
2018-07-01 18:14:24 +00:00
|
|
|
|
|
|
|
# Max angle that should be counted as a full turn
|
|
|
|
routing_full_turn_angle: 45
|
|
|
|
|
|
|
|
# Max angle in a route from a station to an already reachable neighbar
|
|
|
|
routing_snap_full_turn_angle: 0
|
|
|
|
|
2022-01-03 21:27:59 +00:00
|
|
|
# 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: 2
|
|
|
|
|
|
|
|
# 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.15
|
|
|
|
routing_line_station_from_unmatched_time_penalty: 1.1
|
|
|
|
|
|
|
|
# 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
|