Skip to content

Commit e2423b4

Browse files
author
Peter
committed
Merge pull request graphhopper#150 from ratrun/issue149
Fix for issue graphhopper#149 (1)
2 parents 3e49f88 + 8ccb558 commit e2423b4

File tree

5 files changed

+87
-19
lines changed

5 files changed

+87
-19
lines changed

core/src/main/java/com/graphhopper/routing/util/BikeFlagCommonEncoder.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,9 +93,16 @@ protected BikeFlagCommonEncoder()
9393
unpavedSurfaceTags.add("gravel");
9494
unpavedSurfaceTags.add("ground");
9595
unpavedSurfaceTags.add("dirt");
96-
unpavedSurfaceTags.add("paving_stones");
9796
unpavedSurfaceTags.add("grass");
98-
unpavedSurfaceTags.add("cobblestone");
97+
unpavedSurfaceTags.add("compacted");
98+
unpavedSurfaceTags.add("earth");
99+
unpavedSurfaceTags.add("fine_gravel");
100+
unpavedSurfaceTags.add("grass_paver");
101+
unpavedSurfaceTags.add("ice");
102+
unpavedSurfaceTags.add("mud");
103+
unpavedSurfaceTags.add("salt");
104+
unpavedSurfaceTags.add("sand");
105+
unpavedSurfaceTags.add("wood");
99106

100107
roadValues.add("living_street");
101108
roadValues.add("road");
@@ -311,7 +318,7 @@ public long analyzeNodeTags( OSMNode node )
311318

312319
int getSpeed( OSMWay way )
313320
{
314-
int speed = 0;
321+
int speed = PUSHING_SECTION_SPEED;
315322

316323
String s = way.getTag("surface");
317324
if (!Helper.isEmpty(s))

core/src/main/java/com/graphhopper/routing/util/BikeFlagEncoder.java

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,32 @@ public class BikeFlagEncoder extends BikeFlagCommonEncoder
3232
setTrackTypeSpeed("grade4", 10);
3333
setTrackTypeSpeed("grade5", 8); // like sand/grass
3434

35+
setSurfaceSpeed("paved", 20);
3536
setSurfaceSpeed("asphalt", 20);
37+
setSurfaceSpeed("cobblestone", 10);
38+
setSurfaceSpeed("cobblestone:flattened", 10);
39+
setSurfaceSpeed("sett",8);
3640
setSurfaceSpeed("concrete", 20);
37-
setSurfaceSpeed("paved", 20);
41+
setSurfaceSpeed("concrete:lanes", 16);
42+
setSurfaceSpeed("concrete:plates", 16);
43+
setSurfaceSpeed("paving_stones", 10);
44+
setSurfaceSpeed("paving_stones:30", 10);
3845
setSurfaceSpeed("unpaved", 16);
39-
setSurfaceSpeed("gravel", 12);
40-
setSurfaceSpeed("ground", 12);
46+
setSurfaceSpeed("compacted",18);
4147
setSurfaceSpeed("dirt", 10);
42-
setSurfaceSpeed("paving_stones", 8);
48+
setSurfaceSpeed("earth", 10);
49+
setSurfaceSpeed("fine_gravel", 18);
4350
setSurfaceSpeed("grass", 8);
44-
setSurfaceSpeed("cobblestone", 6);
51+
setSurfaceSpeed("grass_paver", 8);
52+
setSurfaceSpeed("gravel", 12);
53+
setSurfaceSpeed("ground", 12);
54+
setSurfaceSpeed("ice", PUSHING_SECTION_SPEED / 2);
55+
setSurfaceSpeed("metal", 10);
56+
setSurfaceSpeed("mud", 10);
57+
setSurfaceSpeed("pebblestone", 16);
58+
setSurfaceSpeed("salt", 6);
59+
setSurfaceSpeed("sand", 8);
60+
setSurfaceSpeed("wood", 10);
4561

4662
setHighwaySpeed("living_street", 15);
4763
setHighwaySpeed("steps", PUSHING_SECTION_SPEED / 2);

core/src/main/java/com/graphhopper/routing/util/MountainBikeFlagEncoder.java

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,32 @@ public class MountainBikeFlagEncoder extends BikeFlagCommonEncoder
3434
setTrackTypeSpeed("grade4", 20);
3535
setTrackTypeSpeed("grade5", 20); // like sand/grass
3636

37+
setSurfaceSpeed("paved", 12);
3738
setSurfaceSpeed("asphalt", 12);
39+
setSurfaceSpeed("cobblestone", 10);
40+
setSurfaceSpeed("cobblestone:flattened", 10);
41+
setSurfaceSpeed("sett",10);
3842
setSurfaceSpeed("concrete", 12);
39-
setSurfaceSpeed("paved", 12);
43+
setSurfaceSpeed("concrete:lanes", 14);
44+
setSurfaceSpeed("concrete:plates", 14);
45+
setSurfaceSpeed("paving_stones", 14);
46+
setSurfaceSpeed("paving_stones:30", 14);
4047
setSurfaceSpeed("unpaved", 20);
41-
setSurfaceSpeed("gravel", 20);
42-
setSurfaceSpeed("ground", 20);
48+
setSurfaceSpeed("compacted", 20);
4349
setSurfaceSpeed("dirt", 20);
44-
setSurfaceSpeed("paving_stones", 20);
50+
setSurfaceSpeed("earth", 20);
51+
setSurfaceSpeed("fine_gravel", 20);
4552
setSurfaceSpeed("grass", 20);
46-
setSurfaceSpeed("cobblestone", 20);
53+
setSurfaceSpeed("grass_paver", 14);
54+
setSurfaceSpeed("gravel", 20);
55+
setSurfaceSpeed("ground", 20);
56+
setSurfaceSpeed("ice", PUSHING_SECTION_SPEED / 2);
57+
setSurfaceSpeed("metal", 10);
58+
setSurfaceSpeed("mud", 20);
59+
setSurfaceSpeed("pebblestone", 12);
60+
setSurfaceSpeed("salt", 12);
61+
setSurfaceSpeed("sand", 20);
62+
setSurfaceSpeed("wood", 20);
4763

4864
setHighwaySpeed("living_street", 15);
4965
setHighwaySpeed("steps", PUSHING_SECTION_SPEED / 2);

core/src/main/java/com/graphhopper/routing/util/RacingBikeFlagEncoder.java

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,33 @@ public class RacingBikeFlagEncoder extends BikeFlagCommonEncoder
3232
setTrackTypeSpeed("grade4", PUSHING_SECTION_SPEED / 2);
3333
setTrackTypeSpeed("grade5", PUSHING_SECTION_SPEED / 2); // like sand/grass
3434

35+
setSurfaceSpeed("paved", 20);
3536
setSurfaceSpeed("asphalt", 20);
37+
setSurfaceSpeed("cobblestone", 10);
38+
setSurfaceSpeed("cobblestone:flattened", 10);
39+
setSurfaceSpeed("sett",10);
3640
setSurfaceSpeed("concrete", 20);
37-
setSurfaceSpeed("paved", 20);
41+
setSurfaceSpeed("concrete:lanes", 16);
42+
setSurfaceSpeed("concrete:plates", 16);
43+
setSurfaceSpeed("paving_stones", 10);
44+
setSurfaceSpeed("paving_stones:30", 10);
3845
setSurfaceSpeed("unpaved", PUSHING_SECTION_SPEED / 2);
39-
setSurfaceSpeed("gravel", PUSHING_SECTION_SPEED / 2);
40-
setSurfaceSpeed("ground", PUSHING_SECTION_SPEED / 2);
46+
setSurfaceSpeed("compacted",PUSHING_SECTION_SPEED / 2);
4147
setSurfaceSpeed("dirt", PUSHING_SECTION_SPEED / 2);
42-
setSurfaceSpeed("paving_stones", PUSHING_SECTION_SPEED);
48+
setSurfaceSpeed("earth", PUSHING_SECTION_SPEED / 2);
49+
setSurfaceSpeed("fine_gravel", PUSHING_SECTION_SPEED);
4350
setSurfaceSpeed("grass", PUSHING_SECTION_SPEED / 2);
44-
setSurfaceSpeed("cobblestone", PUSHING_SECTION_SPEED / 2);
45-
51+
setSurfaceSpeed("grass_paver", PUSHING_SECTION_SPEED / 2);
52+
setSurfaceSpeed("gravel", PUSHING_SECTION_SPEED / 2);
53+
setSurfaceSpeed("ground", PUSHING_SECTION_SPEED / 2);
54+
setSurfaceSpeed("ice", PUSHING_SECTION_SPEED / 2);
55+
setSurfaceSpeed("metal", PUSHING_SECTION_SPEED / 2);
56+
setSurfaceSpeed("mud", PUSHING_SECTION_SPEED / 2);
57+
setSurfaceSpeed("pebblestone", PUSHING_SECTION_SPEED );
58+
setSurfaceSpeed("salt", PUSHING_SECTION_SPEED / 2);
59+
setSurfaceSpeed("sand", PUSHING_SECTION_SPEED / 2);
60+
setSurfaceSpeed("wood", PUSHING_SECTION_SPEED / 2);
61+
4662
setHighwaySpeed("living_street", 15);
4763
setHighwaySpeed("steps", PUSHING_SECTION_SPEED / 2);
4864

core/src/test/java/com/graphhopper/routing/util/BikeFlagEncoderTest.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,19 @@ public void testGetSpeed()
8383
way.setTag("highway", "path");
8484
way.setTag("surface", "ground");
8585
assertEquals(4, encoder.getSpeed(way));
86+
87+
way.clearTags();
88+
way.setTag("highway", "track");
89+
way.setTag("bicycle", "yes");
90+
way.setTag("surface", "fine_gravel");
91+
assertEquals(18, encoder.getSpeed(way));
92+
93+
way.clearTags();
94+
way.setTag("highway", "track");
95+
way.setTag("bicycle", "yes");
96+
way.setTag("surface", "unknown_surface");
97+
assertEquals(4, encoder.getSpeed(way));
98+
8699
}
87100

88101
@Test

0 commit comments

Comments
 (0)