Transformation between ellipsoids function

Hi,
is there any function for transformation between ellipsoids in MATLAB?

6 个评论

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?
Given ellipsoids E1 and E2, determine the affine transformation f(x) = T*x + b such that f(E1) = E2.
I think this is the question the OP has in mind.
It means to me f.e. having coordinates X,Y,Z on WGS84 ellipsoid and transforming them to Bessel ellipsoid.
I am student of geodesy and cartography, getting used to Mapping toolbox and I am curious if any function I described exists.
Does that help?
If not, try to google "transformation between ellipsoids & matlab"
Thank you, I already found this. I was just curious if anything like this exists in MATLAB library.
This requires expert knowledge.
If you have a licence for this toolbox, you should contact MATLAB support for clarification.

请先登录,再进行评论。

回答(1 个)

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);

Community Treasure Hunt

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

Start Hunting!

Translated by