Skip to content

Commit 4272eb5

Browse files
authored
Merge pull request #390 from HSLdevcom/zero-split-elevation-extension-nan-fix
Fix bug where edge is split 0/100 and dividing 0 by 0 causes a NaN in elevation data
2 parents 3febc69 + 96bb85f commit 4272eb5

2 files changed

Lines changed: 6 additions & 2 deletions

File tree

street/src/main/java/org/opentripplanner/street/model/edge/StreetEdge.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -773,7 +773,7 @@ protected void copyPropertiesToSplitEdge(
773773
);
774774

775775
StreetElevationExtensionBuilder.of(seb)
776-
.withDistanceInMeters(defaultMillimeterLength(seb.geometry()) / 1000.)
776+
.withDistanceInMeters(toDistance - fromDistance)
777777
.withElevationProfile(partialElevationProfileFromParent)
778778
.build()
779779
.ifPresent(seb::withElevationExtension);

street/src/main/java/org/opentripplanner/street/model/edge/StreetElevationExtensionBuilder.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,11 @@ public static StreetElevationExtensionBuilder of(StreetEdgeBuilder<?> seb) {
4343
}
4444

4545
public Optional<StreetElevationExtension> build() {
46-
if (elevationProfileHasAtLeastTwoPoints() && (!isSlopeOverride || computed)) {
46+
if (
47+
distanceInMeters > 0.01 &&
48+
elevationProfileHasAtLeastTwoPoints() &&
49+
(!isSlopeOverride || computed)
50+
) {
4751
return Optional.of(buildInternal());
4852
}
4953
return Optional.empty();

0 commit comments

Comments
 (0)