Transformation between ellipsoids function
Afficher commentaires plus anciens
Hi,
is there any function for transformation between ellipsoids in MATLAB?
6 commentaires
John D'Errico
le 4 Mar 2022
Modifié(e) : John D'Errico
le 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
le 4 Mar 2022
Does that help?
If not, try to google "transformation between ellipsoids & matlab"
Jakub Snopl
le 4 Mar 2022
Torsten
le 4 Mar 2022
This requires expert knowledge.
If you have a licence for this toolbox, you should contact MATLAB support for clarification.
Réponses (1)
Anshuman
le 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);
Catégories
En savoir plus sur Coordinate Reference Systems dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!