Convert geodetic coordinate to local ENU

조회 수: 11 (최근 30일)
Jun Wang
Jun Wang 2015년 2월 4일
편집: Amy Haskins 2015년 2월 13일
Hi, I have two point which are expressed with (latitude, longitude, altitude). Actually the distance between these two point is about 80 meters. However when I tried using the geodetic2enu function, the outputs of xEast and yNorth is about 10^-4, much smaller than the truth. I expressed in this way: [xEast, yNorth, zUp] = geodetic2enu(43.26185395,-79.9301443,46.91869818,43.26184161,-79.93117397, 44.43355895,referenceEllipsoid) Could you please help me figure out where is wrong? is the wrong use of referenceEllipsoid?
Besides, with the same two points, I tried using the lla2ecef, and ecef2enu, the outputs were different from the the geodetic2enu method.
Thanks very much!
  댓글 수: 1
David Young
David Young 2015년 2월 4일
Presumably the LengthUnit property of referenceEllipsoid is metres? (I can't check because I don't have the mapping toolbox. I can confirm your measurement - my own code estimates the separation at 83.65 m.)

댓글을 달려면 로그인하십시오.

답변 (1개)

Amy Haskins
Amy Haskins 2015년 2월 13일
편집: Amy Haskins 2015년 2월 13일
The default reference ellipsoid is a unit sphere. Instead, try using a wgs84 earth model and you will get a result much closer to what you were expecting:
[xEast, yNorth, zUp] = geodetic2enu(43.26185395,-79.9301443,46.91869818,43.26184161,-79.93117397, 44.43355895,wgs84Ellipsoid)
xEast =
83.6035
yNorth =
1.3715
zUp =
2.4846

Community Treasure Hunt

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

Start Hunting!

Translated by