Convert geodetic coordinate to local ENU

16 views (last 30 days)
Jun Wang
Jun Wang on 4 Feb 2015
Edited: Amy Haskins on 13 Feb 2015
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 Comment
David Young
David Young on 4 Feb 2015
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.)

Sign in to comment.

Answers (1)

Amy Haskins
Amy Haskins on 13 Feb 2015
Edited: Amy Haskins on 13 Feb 2015
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

Products

Community Treasure Hunt

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

Start Hunting!