Convert geodetic coordinate to local ENU

14 次查看(过去 30 天)
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