Я проанализировал данные эфемерид, чтобы получить видимые над моим текущим местоположением местоположения спутников 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);
}