Filter MaxValueWeights
This commit is contained in:
parent
465d40a475
commit
68cb0ee3fd
@ -136,13 +136,16 @@ public static class Renderer
|
|||||||
public static ValueTuple<Image, Bounds> DrawGScores(Dictionary<OsmNode, double> gScoreDict, Image? renderOver = null,
|
public static ValueTuple<Image, Bounds> DrawGScores(Dictionary<OsmNode, double> gScoreDict, Image? renderOver = null,
|
||||||
Bounds? bounds = null)
|
Bounds? bounds = null)
|
||||||
{
|
{
|
||||||
float minLat = bounds?.minLat ?? gScoreDict.Min(kv => kv.Key.coordinates.latitude);
|
Dictionary<OsmNode, double> gScore =
|
||||||
float minLon = bounds?.minLon ?? gScoreDict.Min(kv => kv.Key.coordinates.longitude);
|
gScoreDict.Where(kv => kv.Value < double.MaxValue).ToDictionary(pair => pair.Key, pair => pair.Value);
|
||||||
float maxLat = bounds?.maxLat ?? gScoreDict.Max(kv => kv.Key.coordinates.latitude);
|
|
||||||
float maxLon = bounds?.maxLon ?? gScoreDict.Max(kv => kv.Key.coordinates.longitude);
|
float minLat = bounds?.minLat ?? gScore.Min(kv => kv.Key.coordinates.latitude);
|
||||||
|
float minLon = bounds?.minLon ?? gScore.Min(kv => kv.Key.coordinates.longitude);
|
||||||
|
float maxLat = bounds?.maxLat ?? gScore.Max(kv => kv.Key.coordinates.latitude);
|
||||||
|
float maxLon = bounds?.maxLon ?? gScore.Max(kv => kv.Key.coordinates.longitude);
|
||||||
|
|
||||||
double minWeight = gScoreDict.Min(kv => kv.Value);
|
double minWeight = gScore.Min(kv => kv.Value);
|
||||||
double maxWeight = gScoreDict.Max(kv => kv.Value);
|
double maxWeight = gScore.Max(kv => kv.Value);
|
||||||
|
|
||||||
float latDiff = maxLat - minLat;
|
float latDiff = maxLat - minLat;
|
||||||
float lonDiff = maxLon - minLon;
|
float lonDiff = maxLon - minLon;
|
||||||
@ -159,7 +162,7 @@ public static class Renderer
|
|||||||
|
|
||||||
float pointSize = PenThickness * 1.5f;
|
float pointSize = PenThickness * 1.5f;
|
||||||
|
|
||||||
foreach (KeyValuePair<OsmNode, double> kv in gScoreDict)
|
foreach (KeyValuePair<OsmNode, double> kv in gScore)
|
||||||
{
|
{
|
||||||
double percentage = (kv.Value - minWeight) / (maxWeight - minWeight);
|
double percentage = (kv.Value - minWeight) / (maxWeight - minWeight);
|
||||||
Brush b = new SolidBrush(GradientPick(percentage, WeightStartColor, WeightCenterColor, WeightEndColor));
|
Brush b = new SolidBrush(GradientPick(percentage, WeightStartColor, WeightCenterColor, WeightEndColor));
|
||||||
|
Reference in New Issue
Block a user