Rotated relative scale in AzimuthalEquidistantProjection

This commit is contained in:
ClemensFischer 2026-01-20 15:57:20 +01:00
parent 3fbfb0d5c1
commit 94e8edf18b
2 changed files with 4 additions and 2 deletions

View file

@ -37,7 +37,9 @@ namespace MapControl
k = c / Math.Sin(c); // p.195 (25-2)
}
return new Matrix(k, 0d, 0d, k, 0d, 0d);
var scale = new Matrix(1d, 0d, 0d, k, 0d, 0d); // h == 1
scale.Rotate(-Math.Atan2(p.Y, p.X) * 180d / Math.PI);
return scale;
}
public override Point? LocationToMap(double latitude, double longitude)

View file

@ -31,7 +31,7 @@ namespace MapControl
var p = GetProjectedPoint(latitude, longitude);
var h = p.CosC; // p.149 (20-5)
var scale = new Matrix(h, 0d, 0d, 1d, 0d, 0d);
var scale = new Matrix(h, 0d, 0d, 1d, 0d, 0d); // k == 1
scale.Rotate(-Math.Atan2(p.Y, p.X) * 180d / Math.PI);
return scale;
}