How can I plot Earth (wgs84 Ellipsoid)?

98 views (last 30 days)
I have tried
[x,y,z] = wgs84Ellipsoid('meters');
figure
surf(x,y,z)
axis equal
However,
[x,y,z] = wgs84Ellipsoid('meters');
is incorrect ("Too many output arguments")
  2 Comments
Geoff Hayes
Geoff Hayes on 27 Nov 2017
Matthes - according to https://www.mathworks.com/help/map/ref/wgs84ellipsoid.html the function wgs84ellipsoid returns a referenceEllipsoid object and so the error message makes sense since only one output parameter is possible
E = wgs84ellipsoid('meters');
So that explains the error message. As for trying to draw/plot this, I'm not sure how you would do that (or if it is even possible).
Matthes Müller
Matthes Müller on 30 Nov 2017
Alright, thanks a lot anyway!

Sign in to comment.

Accepted Answer

Amy Haskins
Amy Haskins on 12 Dec 2017
To just get a sense for the shape of the ellipsoid, you could use the values from the wgs84ellipsoid in conjunction with MATLAB's ellipsoid function as follows:
ellipsoid(0,0,0,E.SemimajorAxis, E.SemimajorAxis, E.SemiminorAxis)
Alternatively, if you want a 3D globe, you could follow the doc example here:
https://www.mathworks.com/help/map/examples/plotting-a-3-d-dome-as-a-mesh-over-a-globe.html
Replacing the grs80 ellipsoid with the one returned by wgs84Ellipsoid.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!