Как я мог нарисовать скайплот? - PullRequest
0 голосов
/ 15 апреля 2019

Я пытаюсь вычислить высоту и азимут ряда спутников и нарисовать график неба с помощью Matlab. Я занимался программированием высоты и азимута и надеюсь, что это правильно. Не могли бы вы проверить мою программу ниже и помочь в том, как нарисовать участок неба?.

Это ниже информация, которую я имею о нескольких спутниках, и код, который я делаю для вычисления высоты и азимута. Мне нужно проверить, что я сделал хорошо? и Как я могу нарисовать участок неба?.

Это мои данные

Номер спутника [G16, G18, G21, G22, G24, G29, G30, G31]

Спутниковая позиция X [5987425.927, -15277102.02, -6942792.951, -7699617.757, -15640450.64, -21462733.01, -17122561.46,8435940.256]

Спутниковая позиция Y [16538651.08,21684902.45,16455440.33,23612702.05,2030375.457,8305358.847,18316014.7,24392808.82]

Спутниковая позиция Z [19902033.22,1357326.261,19659178.13, -9413998.269,21371033.07,13260440.47, -8764055.544, -6268410.067]

Положение приемника Координаты ECEF -2.874047126175781e + 06, 4.689853290990270e + 06, 3.218249511787930e + 06

Это ниже моего кода:

clear; 
clc;
skyData=load('skyData.mat');
satellites = {'G16', 'G18', 'G21', 'G22', 'G24', 'G29', 'G30', 'G31'};
numberofSatellites = length(satellites);
x=skyData.satellitePositions(1:end,1);
y=skyData.satellitePositions(1:end,2);
z=skyData.satellitePositions(1:end,3);
lat0 = skyData.ECEFcoordinates(1);
lon0 = skyData.ECEFcoordinates(2);
alt0 = skyData.ECEFcoordinates(3);
[az, el, slantRange] = ecef2aer(x, y, z, lat0, lon0, alt0, referenceEllipsoid('WGS 84'), 'degrees')

Я надеюсь получить помощь в рисовании сюжета неба

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...