Я пытаюсь сделать небольшое приложение для рисования кругов покрытия наземной станции (прежде чем кто-то предложит использовать другое программное обеспечение, я люблю делать такие вещи сам!)
У меня уже есть код, который преобразует координаты широты и долготы точки на поверхности в точки на карте проекции Меркатора , поэтому теперь я рисую вокруг них «круги».
У меня также есть уравнение для расчета наклонной дальности (максимальное расстояние между спутником и наземной станцией при минимальной высоте).
Вот что я делаю в настоящее время:
Преобразование широты, долготы и Re наземных станций (сферические координаты) в x1, y1, z1 (декартовы координаты)
Преобразование высоты, азимута и наклонного диапазона (сферические координаты) в x2, y2, z2 (декартовы координаты) в центрированной системе отсчета наземной станции
Переведите x2,y2,z2 из части 2 в центрированную на Земле (x2+x1, y2+y1, z2+z1), назовем их x3, y3, z3
Поверните x3, y3, z3, чтобы выровнять систему отсчета с центром на Земле, скажем, x4, y4, z4
Преобразуйте x4, y4, z4 в сферические координаты, а затем нанесите на график широту и долготу, которые я нашел.
На мой взгляд, приведенное выше должно дать мне правильные точки для построения графика, однако где-то есть ошибка. Я знаю, что шаг 1 правильный (величина вектора Re). Я знаю, что шаг 2 правильный, поскольку величина вектора - это наклонный диапазон. Но вот тут я столкнулся с проблемой... Хотя понятия не имею, в чем проблема.
Вот как бы я это решил:
Во-первых, математика упрощается, если правильные сферические координаты используются вместо долготы и широты. Разница в широте - это угол от экватора, тогда как это угол от северного полюса. Найти а также от долготы и широты,
Наслаждаться!
Геррит
ThePlanMan
Рассел Борогов