Clarification for the HelioVector function #258
-
Hello @cosinekitty , Looking at the docs for the HelioVector function, it states that "The position is not corrected for light travel time or aberration". At first glance, this led me to think that I should use another function (like GeoVector which corrects for light travel time and supports aberration correction) if I wanted to get the true/astrometric positions. I did find your comment providing more details about these mechanics but I would still like some clarifications regarding the
Thanks :) |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
This is a great question. I'm glad I can clarify here, and hopefully it will help other people too. Yes, HelioVector provides astrometric positions: it models a Newtonian "instantaneous" picture of the Solar System. It tells you where any body is, relative to the Sun, at the given time. The intention is that if you want to draw a picture of the Solar System as a whole, HelioVector might make more sense. The GeoVector function tells you where an object appears to be at a given time as seen from the Earth, which is why GeoVector corrects for light travel time and, optionally, aberration also. If you want to calculate how a target body appears from an observer body other than the Earth, there is the BackdatePosition function, which corrects for light travel and optionally aberration, given any supported Solar System body as the vantage point. In fact, the call const vec = Astronomy.BackdatePosition(date, Astronomy.Body.Earth, body, aberration); is equivalent to const vec = Astronomy.GeoVector(date, body, aberration); If you want to correct for light travel for an arbitrary observer anywhere in space (not just from one of the major bodies), there is an even more general function CorrectLightTravel. If you look at the code, you will see that GeoVector is implemented by calling BackdatePosition, and BackdatePosition calls CorrectLightTravel. The code for BackdatePosition can help serve as a reference for implementing arbitrary aberration correction also. To calculate geocentric astrometric coordinates, you can call HelioVector twice, once for the Earth, and once for the target body, then subtract vectors: (geocentric body) = (heliocentric body) - (heliocentric Earth). I hope this helps. |
Beta Was this translation helpful? Give feedback.
This is a great question. I'm glad I can clarify here, and hopefully it will help other people too.
Yes, HelioVector provides astrometric positions: it models a Newtonian "instantaneous" picture of the Solar System. It tells you where any body is, relative to the Sun, at the given time. The intention is that if you want to draw a picture of the Solar System as a whole, HelioVector might make more sense.
The GeoVector function tells you where an object appears to be at a given time as seen from the Earth, which is why GeoVector corrects for light travel time and, optionally, aberration also.
If you want to calculate how a target body appears from an observer body other than the Earth, ther…