@@ -55,49 +55,46 @@ fn parse_speed(max_speed: &str, highway: &str) -> usize {
55
55
56
56
/// resolves the int value from a dirty string that can't be resolved by default parsing
57
57
fn resolve_max_speed ( s : & str ) -> Result < usize , & str > {
58
- match s {
59
- "DE:motorway" => return Ok ( 120 ) ,
60
- "DE:rural" | "AT:rural" => return Ok ( 100 ) ,
61
- "DE:urban" | "AT:urban" | "CZ:urban" => return Ok ( 50 ) ,
62
- "maxspeed=50" => return Ok ( 50 ) ,
63
- "50;" | "50b" => return Ok ( 50 ) ,
64
- "DE:living_street" => return Ok ( 30 ) ,
65
- "30 kph" => return Ok ( 30 ) ,
66
- "zone:maxspeed=de:30" => return Ok ( 30 ) ,
67
- "DE:zone:30" => return Ok ( 30 ) ,
68
- "DE:zone30" => return Ok ( 30 ) ,
69
- "30 mph" => return Ok ( 30 ) ,
70
- "20:forward" => return Ok ( 20 ) ,
71
- "10 mph" => return Ok ( 10 ) ,
72
- "5 mph" => return Ok ( 7 ) ,
73
- "DE:walk" | "walk" | "Schrittgeschwindigkeit" => return Ok ( 7 ) ,
74
- _ => return Err ( "none" ) ,
58
+ return match s {
59
+ "DE:motorway" => Ok ( 120 ) ,
60
+ "DE:rural" | "AT:rural" => Ok ( 100 ) ,
61
+ "DE:urban" | "AT:urban" | "CZ:urban" => Ok ( 50 ) ,
62
+ "maxspeed=50" => Ok ( 50 ) ,
63
+ "50;" | "50b" => Ok ( 50 ) ,
64
+ "DE:living_street" => Ok ( 30 ) ,
65
+ "30 kph" => Ok ( 30 ) ,
66
+ "zone:maxspeed=de:30" => Ok ( 30 ) ,
67
+ "DE:zone:30" => Ok ( 30 ) ,
68
+ "DE:zone30" => Ok ( 30 ) ,
69
+ "30 mph" => Ok ( 30 ) ,
70
+ "20:forward" => Ok ( 20 ) ,
71
+ "10 mph" => Ok ( 10 ) ,
72
+ "5 mph" => Ok ( 7 ) ,
73
+ "DE:walk" | "walk" | "Schrittgeschwindigkeit" => Ok ( 7 ) ,
74
+ _ => Err ( "none" ) ,
75
75
} ;
76
76
}
77
77
78
78
/// approximates the speed limit based on given highway type
79
79
// infos from https://wiki.openstreetmap.org/wiki/Key:highway
80
80
// TODO check if more types can be added
81
81
fn aproximate_speed_limit ( s : & str ) -> usize {
82
- match s {
83
- "motorway" => return 120 ,
84
- "motorway_link" => return 60 ,
85
- "trunk" => return 100 ,
86
- "trunk_link" => return 50 ,
87
- "primary" => return 60 ,
88
- "primary_link" => return 50 ,
89
- "secondary" | "secondary_link" => return 50 ,
90
- "tertiary" | "tertiary_link" => return 50 ,
91
- "unclassified" => return 40 ,
92
- "residential" => return 30 ,
93
- "track" | "service" => return 10 ,
94
- "living_street" => return 7 ,
95
- "path" | "walk" | "footway" => return 4 ,
96
- _ => {
97
- // println!("speed limit {:?}", s);
98
- return 50 ;
99
- }
100
- }
82
+ return match s {
83
+ "motorway" => 120 ,
84
+ "motorway_link" => 60 ,
85
+ "trunk" => 100 ,
86
+ "trunk_link" => 50 ,
87
+ "primary" => 60 ,
88
+ "primary_link" => 50 ,
89
+ "secondary" | "secondary_link" => 50 ,
90
+ "tertiary" | "tertiary_link" => 50 ,
91
+ "unclassified" => 40 ,
92
+ "residential" => 30 ,
93
+ "track" | "service" => 10 ,
94
+ "living_street" => 7 ,
95
+ "path" | "walk" | "footway" => 4 ,
96
+ _ => 50 ,
97
+ } ;
101
98
}
102
99
103
100
/// get what kind of street it is:
0 commit comments