Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarification on ECEF Reference Frame Used When Translating From Geocentric and Geodetic Coordinates #5

Closed
turnersr opened this issue Dec 31, 2023 · 1 comment

Comments

@turnersr
Copy link

Hello!! Awesome library! I am trying to understand how the different types of ECEF reference frames relate to the functions used in https://juliaspace.github.io/SatelliteToolboxTransformations.jl/stable/man/geodetic_geocentric/.

I just have three questions.

  1. What ECEF reference frame is expected when translating to geodetic and geocentric using ecef_to_geocentric and ecef_to_geodetic? I see an abstract vector type is used, but I expected to see ITRF, PEF, or TIRS explicitly mentioned.

  2. Similarly, what ECEF reference frame is returned when using geocentric_to_ecef and geodetic_to_ecef?

  3. I wanted to transform the ECEF point produced by geodetic_to_ecef into an ECI point or another ECEF point. How would I construct the matrix since I don't know the reference system?

Thanks for your help!!

@ronisbr
Copy link
Member

ronisbr commented Jan 2, 2024

Hi @turnersr !

Hello!! Awesome library! I am trying to understand how the different types of ECEF reference frames relate to the functions used in https://juliaspace.github.io/SatelliteToolboxTransformations.jl/stable/man/geodetic_geocentric/.

Thanks! I am glad it is being useful!

What ECEF reference frame is expected when translating to geodetic and geocentric using ecef_to_geocentric and ecef_to_geodetic? I see an abstract vector type is used, but I expected to see ITRF, PEF, or TIRS explicitly mentioned.

Theoretically speaking, none of them :D However, for most applications, you can use ITRF. The difference will be less than 1m. However, the ITRF needs unmodelled information (pole movement) available in the IERS EOP data, which can only predict the pole movement for one year more or less.

There is nothing wrong in using PEF to convert to geodetic coordinates. The problem is that you will get a geodetic information with higher errors than you would get by using ITRF. In this case, for example, PEF Z-axis is aligned to the Earth's angular velocity vector, whereas the ITRF frame is aligned with our best definition of the Earth's North Pole. Nevertheless, the difference should be very small (maybe less than 10m, but I have never analyzed this).

TIRS and PEF are the same coordinate system.

Similarly, what ECEF reference frame is returned when using geocentric_to_ecef and geodetic_to_ecef?

It really depends on your input data. If you get (lat, lon, h) from a very accurate WGS84 source, the output of geodetic_to_ecef will be in ITRF, approximately.

I wanted to transform the ECEF point produced by geodetic_to_ecef into an ECI point or another ECEF point. How would I construct the matrix since I don't know the reference system?

It will also depends on your use case. If you have a (lat, lon, h) from an accurate WGS84 source, the ECEF will be ITRF. However, if you need the ECI data in the future (more than 1 year ahead), your only option will be to consider the vector after geodetic_to_ecef as it is represented in PEF.

At the end, notice that all those differences are very small for most of applications. You only need to consider this level of detail for very accurate analysis. For example, let's say you need to compute the vector to which you need to align a satellite payload. The 10m difference between PEF and ITRF in an altitude of 700km is less than 3 arcsec.

@ronisbr ronisbr closed this as completed Jan 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants