Fixed gScore with MaxValue due to Vector Angle returning NaN
This commit is contained in:
parent
bc39785f6f
commit
97a057a3d4
@ -205,6 +205,8 @@ public class Pathfinder
|
|||||||
double v1L = Math.Sqrt(v1.x * v1.x + v1.y * v1.y);
|
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 v2L = Math.Sqrt(v2.x * v2.x + v2.y * v2.y);
|
||||||
double ang = Math.Acos(dotProd / (v1L * v2L));
|
double ang = Math.Acos(dotProd / (v1L * v2L));
|
||||||
|
if (ang.Equals(double.NaN))
|
||||||
|
return 0;
|
||||||
double angle = Utils.RadiansToDegrees(ang);
|
double angle = Utils.RadiansToDegrees(ang);
|
||||||
return angle;
|
return angle;
|
||||||
}
|
}
|
||||||
|
@ -131,11 +131,9 @@ public static class Renderer
|
|||||||
}
|
}
|
||||||
|
|
||||||
[SuppressMessage("Interoperability", "CA1416:Plattformkompatibilität überprüfen")]
|
[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)
|
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 minLat = bounds?.minLat ?? gScore.Min(kv => kv.Key.coordinates.latitude);
|
||||||
float minLon = bounds?.minLon ?? gScore.Min(kv => kv.Key.coordinates.longitude);
|
float minLon = bounds?.minLon ?? gScore.Min(kv => kv.Key.coordinates.longitude);
|
||||||
|
Reference in New Issue
Block a user