enu2ecef function produces incorrect results

9 Ansichten (letzte 30 Tage)
Olga Dimov
Olga Dimov am 24 Okt. 2019
Beantwortet: Meysam Mahooti am 25 Nov. 2019
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.

Antworten (1)

Meysam Mahooti
Meysam Mahooti am 25 Nov. 2019

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by