У меня есть несколько вопросов о преобразовании километров в географические координаты. Как видно из рисунка, слева - интервал траекторий километров. Я ввел географические координаты и рассчитал траекторию в километрах. Для моих расчетов мне нужно конвертировать градусы в километры. Я использовал этот код:
LAT=[41.030503; 41.048334; 41.071551 ]*pi/180;
LON=[28.999000; 29.037494; 29.052138 ]*pi/180;
for i=1:length(LAT)-1
psi_coordinate(i,1) = atan2( sin (LON(i+1)-LON(i)) * cos (LAT(i+1)) , cos (LAT(i)) *sin (LAT(i+1)) - sin (LAT(i)) * cos (LAT(i+1)) * cos (LON(i+1)-LON(i)) );
a=(sin((LAT(i+1)-LAT(i))/2))^2+cos(LAT(i))*cos(LAT(i+1))*(sin((LON(i+1)-LON(i))/2))^2;
c=2*atan2(sqrt(a),sqrt(1-a));
d(i,1)=R*c;
pos_x(i+1,1)=pos_x(i,1)+d(i,1)*cos(psi_coordinate(i,1)); %convert to kilometer
pos_y(i+1,1)=pos_y(i,1)+d(i,1)*sin(psi_coordinate(i,1)); %convert to kilometer
distance_h(i,1)=sqrt(((LAT(i+1)-LAT(i))^2)+((LON(i+1)-LON(i))^2))*1000 ; %kilometer
end
distance=sum(d);
pos_x=pos_x*1000; %convert to meter
pos_y=pos_y*1000; %convert to meter
pos_x и pos_y нанесены в виде круга на рисунке (слева).
После того, как я вычислю траекторию корабля, мне нужно снова преобразовать их в градусы. Если я использую команду «km2deg», я получаю свои координаты, как показано на рисунке (справа), и код, который я использовал:
ydeg=LON(1)*180/pi+km2deg(y/1000);
xdeg=LAT(1)*180/pi+km2deg(x/1000);
Но, как вы можете видеть, синяя линия (траектория корабля) не близка к желаемый путь, как показано на рисунке слева. Обычно это должен быть одинаковый тренд для этих двух сюжетов. Потому что все, что я делаю, это просто конвертирую единицы. Я думаю, у меня есть некоторые проблемы с использованием команды "km2deg".
Есть ли у вас какие-либо предложения для правильного перевода моих очков из км в град?
![enter image description here](https://i.stack.imgur.com/2IjQZ.png)