Я проанализировал данные эфемерид, чтобы получить ECEF (или широту/долготу) позиции спутников, видимых над моим текущим местоположением. Я хотел бы отобразить эти местоположения на графике неба в моей программе на C#.
Я добавил окно изображения в свой графический интерфейс и попытался масштабировать значения x/y для отображения, но я не верю в отображаемые местоположения. относятся к моему текущему местоположению.
Есть ли у кого-нибудь примеры или пример кода, как это сделать?
Я делаю это в C# winform.
private const double CENTER = 110; //center of drawing (pixels)
private double SCALE_FACTOR = 89.0 / 90.0; //pixels from 90deg to 0 on drawing
.
.
.
private void drawSatellitePos(int svPrn, double elevation, double azimuth) //radians
{
double r = 90.0 - ConvertRadiansToDeg(elevation);
double theta = 90.0 - ConvertRadiansToDeg(azimuth);
theta = ConvertDegToRadians(theta);
double xLocation = CENTER + SCALE_FACTOR * r * Math.Cos(theta);
double yLocation = CENTER + SCALE_FACTOR * r * Math.Sin(theta);
Console.WriteLine("{0}: x: {1} Y: {2}", svPrn, xLocation, yLocation);
Point point = new Point((int)xLocation, (int)yLocation);
}