Как рассчитать кривую меридиана на проекции Меркатора
Кто-нибудь знает, как рассчитать кривую (а не параболу) меридиана на проекции Меркатора?
Например,
Я получил долготу 1: 9,93, широту 1: 60,02
и долгота2: -44,02, широта2: 56,3
Наименьшее расстояние рассчитывается по формуле:
var d2r = (Math.PI / 180.0);
double dlong = (lon2 - lon1) * d2r;
double dlat = (lat2 - lat1) * d2r;
double a = Math.Pow(Math.Sin(dlat / 2.0), 2) + Math.Cos(lat1 * d2r) *
Math.Cos(lat2 * d2r) * Math.Pow(Math.Sin(dlong / 2.0), 2);
double c = 2 * Math.Atan2(Math.Sqrt(a), Math.Sqrt(1 - a));
double distance = 6367 * c;
Я хочу нарисовать меридиан с:
Graphics.Draw.Arc(Pen, Rectangle, startAngle, sweepAngle)
Мне нужно рассчитать высоту, ширину, startAngle и sweepAngle моего меридиана. Великий круг зависит от центра Земли и не одинакового размера в каждом месте на карте Меркатора. Это зависит от значения широты. Но я еще не нашел правильную формулу.
Заранее спасибо.