@@ -30,7 +30,7 @@ public class StreetWithElevationEdge extends StreetEdge {
30
30
31
31
private boolean flattened ;
32
32
33
- private int effectiveWalkLength_mm ;
33
+ private double effectiveWalkFactor = 1.0 ;
34
34
35
35
/**
36
36
* Remember to call the {@link #setElevationProfile(PackedCoordinateSequence, boolean)} to initiate elevation data.
@@ -39,8 +39,6 @@ public StreetWithElevationEdge(StreetVertex v1, StreetVertex v2, LineString geom
39
39
I18NString name , double length , StreetTraversalPermission permission , boolean back ) {
40
40
super (v1 , v2 , geometry , name , length , permission , back );
41
41
42
- // Initiate to "flat" distance, use #setElevationProfile() to set elevation adjusted value
43
- this .effectiveWalkLength_mm = getLength_mm ();
44
42
}
45
43
46
44
public StreetWithElevationEdge (StreetVertex v1 , StreetVertex v2 , LineString geometry ,
@@ -68,7 +66,7 @@ public boolean setElevationProfile(PackedCoordinateSequence elev, boolean comput
68
66
slopeWorkFactor = (float )costs .slopeWorkFactor ;
69
67
maxSlope = (float )costs .maxSlope ;
70
68
flattened = costs .flattened ;
71
- effectiveWalkLength_mm = costs .effectiveWalkDistance_mm ;
69
+ effectiveWalkFactor = costs .effectiveWalkFactor ;
72
70
73
71
bicycleSafetyFactor *= costs .lengthMultiplier ;
74
72
bicycleSafetyFactor += costs .slopeSafetyCost / getDistance ();
@@ -106,20 +104,7 @@ public double getSlopeWorkCostEffectiveLength() {
106
104
@ Override
107
105
public double getSlopeWalkSpeedEffectiveLength () {
108
106
// Convert from fixed millimeters to double meters
109
- return effectiveWalkLength_mm / 1000d ;
110
- }
111
-
112
- @ Override
113
- protected void calculateLengthFromGeometry () {
114
- double accumulatedMeters = 0 ;
115
-
116
- LineString geom = getGeometry ();
117
-
118
- for (int i = 1 ; i < geom .getNumPoints (); i ++) {
119
- accumulatedMeters += SphericalDistanceLibrary .distance (geom .getCoordinateN (i - 1 ), geom .getCoordinateN (i ));
120
- }
121
-
122
- effectiveWalkLength_mm = (int ) (accumulatedMeters * 1000 );
107
+ return effectiveWalkFactor * getDistance ();
123
108
}
124
109
125
110
@ Override
0 commit comments