Transformation between ellipsoids function
Show older comments
Hi,
is there any function for transformation between ellipsoids in MATLAB?
6 Comments
John D'Errico
on 4 Mar 2022
Edited: John D'Errico
on 4 Mar 2022
What does a transformation between ellipsoids mean to you? Why do you need some special function anyway?
An ellipsoid is defined in any number of dimensions by a simple quadratic form, thus essentially:
(X-X0)' * H * (X-X0) == 1
where H is an nxn non-negative definite matrix. (If H is singular, then the ellipsoid has zero volume, and it lies contained in some lower dimensional planar subspace. But it is still technically an ellipsoid.) X0 is a vector that defines the center of the ellipsoid, and X is an nx1 vector. That completely defines the surface of the ellipsoid. If you want to include the points contained inside the ellipsoid, then the equality becomes an inequality.
If you have multiple ellipsoids, then you just have different center points and different matrices H. You know everything about an ellipsoid that you need to know, if you know the matrix H and the vector X0. At least, you can compute anything from those two variables.
So in that context, what do you want to know about a "transformation" between ellipsoids? What might you hope some function would do for you in that context?
Jakub Snopl
on 4 Mar 2022
Does that help?
If not, try to google "transformation between ellipsoids & matlab"
Jakub Snopl
on 4 Mar 2022
Torsten
on 4 Mar 2022
This requires expert knowledge.
If you have a licence for this toolbox, you should contact MATLAB support for clarification.
Answers (1)
Anshuman
on 31 Jan 2024
Hi Jakub,
MATLAB provides functions to perform transformations between different reference ellipsoids, which are typically used in geodetic computations. The transformations can involve converting geodetic coordinates (latitude, longitude, height) from one ellipsoid to another.
Mapping Toolbox includes functions like "geodetic2ecef" and "ecef2geodetic" to convert between geodetic coordinates and Earth-Centered Earth-Fixed (ECEF) coordinates, based on a specified reference ellipsoid. It can be done in the following way:
% Convert geodetic coordinates on ellipsoid A to ECEF coordinates
[xA, yA, zA] = geodetic2ecef(ellipsoidA, latA, lonA, hA);
% Convert ECEF coordinates to geodetic coordinates on ellipsoid B
[latB, lonB, hB] = ecef2geodetic(ellipsoidB, xA, yA, zA);
Categories
Find more on Coordinate Reference Systems in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!