enu2ecef function produces incorrect results

11 ビュー (過去 30 日間)
Olga Dimov
Olga Dimov 2019 年 10 月 24 日
回答済み: Meysam Mahooti 2019 年 11 月 25 日
Hello!
I need to convert ENU position data of an object to an ECEF type of data.
I have this in my code:
refLat = ...; % in radians
refLon = ..; % in radians
refAlt = ...; % in meters
objPosXENU = ...; % in meters
objPosYENU = ...; % in meters
objPosZENU = ...; % in meters
spheroid = wgs84Ellipsoid;
[objPosXECEF, objPosYECEF, objPosZECEF] = eun2ecef(objPosXENU, objPosYENU, objPosZENU, refLat refLon, refAlt, spheroid);
Then I convert ECEF positon back to ENU to double check that the conversion was correct:
[posXENU, posYENU, posZENU] = ecef2enu(objPosXECEF, objPosYECEF, objPosZECEF, refLat refLon, refAlt, spheroid);
Then I plot objPosXENU, objPosYENU (original data) and posXENU, posYENU (converted data) on the same plot and my converted data is not the same as the original data. It's shifted in the East direction by a few hundred meters. The North direcation looks normal, it's only the East direction that gets shifted. What am I doing wrong?
Thank you for any input.

回答 (1 件)

Meysam Mahooti
Meysam Mahooti 2019 年 11 月 25 日

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by