Fixed gScore with MaxValue due to Vector Angle returning NaN

This commit is contained in:
glax 2023-04-23 13:41:22 +02:00
parent bc39785f6f
commit 97a057a3d4
2 changed files with 3 additions and 3 deletions

View File

@ -205,6 +205,8 @@ public class Pathfinder
double v1L = Math.Sqrt(v1.x * v1.x + v1.y * v1.y);
double v2L = Math.Sqrt(v2.x * v2.x + v2.y * v2.y);
double ang = Math.Acos(dotProd / (v1L * v2L));
if (ang.Equals(double.NaN))
return 0;
double angle = Utils.RadiansToDegrees(ang);
return angle;
}

View File

@ -131,11 +131,9 @@ public static class Renderer
}
[SuppressMessage("Interoperability", "CA1416:Plattformkompatibilität überprüfen")]
public static ValueTuple<Image, Bounds> DrawGScores(Dictionary<OsmNode, double> gScoreDict, Image? renderOver = null,
public static ValueTuple<Image, Bounds> DrawGScores(Dictionary<OsmNode, double> gScore, Image? renderOver = null,
Bounds? bounds = null)
{
Dictionary<OsmNode, double> gScore =
gScoreDict.Where(kv => kv.Value < double.MaxValue).ToDictionary(pair => pair.Key, pair => pair.Value);
float minLat = bounds?.minLat ?? gScore.Min(kv => kv.Key.coordinates.latitude);
float minLon = bounds?.minLon ?? gScore.Min(kv => kv.Key.coordinates.longitude);