mirror of
https://github.com/ClemensFischer/XAML-Map-Control.git
synced 2026-04-20 22:05:07 +00:00
Rotated relative scale in AzimuthalEquidistantProjection
This commit is contained in:
parent
3fbfb0d5c1
commit
94e8edf18b
2 changed files with 4 additions and 2 deletions
|
|
@ -37,7 +37,9 @@ namespace MapControl
|
||||||
k = c / Math.Sin(c); // p.195 (25-2)
|
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)
|
public override Point? LocationToMap(double latitude, double longitude)
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ namespace MapControl
|
||||||
var p = GetProjectedPoint(latitude, longitude);
|
var p = GetProjectedPoint(latitude, longitude);
|
||||||
var h = p.CosC; // p.149 (20-5)
|
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);
|
scale.Rotate(-Math.Atan2(p.Y, p.X) * 180d / Math.PI);
|
||||||
return scale;
|
return scale;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue