# Getting vectors out of JPL Horizons

Does anyone know how to manipulate the ephemeris data from JPL HORIZONS in order to find out the tangential velocity of a body relative to a topographic center, eg the Sun?

D H
Staff Emeritus
Use the vector output capability rather than observer (right ascenscion/declination) output. This will give you the position vector and velocity vector in ICRF coordinates of some body relative to some origin. Computing the component of the velocity vector normal to the position vector is vector simple arithmetic.

Use the vector output capability rather than observer (right ascenscion/declination) output. This will give you the position vector and velocity vector in ICRF coordinates of some body relative to some origin. Computing the component of the velocity vector normal to the position vector is vector simple arithmetic.

Well it might be easy but I don't know.

There is one way to get the tangential velocity directly by using the orbital period T, so that

$$v_{tangent}=\frac{2 \pi r}{T}$$

but I'd like to work it out from the velocity vectors given.

As far as I can tell, the JPL Horizons program produces coordinate axes in fixed directions rather than rotating with the orbiting body. It does produce a range rate (RR) parameter but I'd still like to know how to utilize the data WITHOUT referencing the radius from the origin, since that is what I'm trying to measure as accurately as I can.

So if someone knows how to produce tangential velocity from the three velocity vectors + RR (or some other equivalent method) then I'm all ears.

D H
Staff Emeritus
The projection of any vector b onto some other vector a is

$${\boldsymbol b}_a = \frac{({\boldsymbol b}\cdot{\boldsymbol a})\, {\boldsymbol a}} {||{\boldsymbol a}||^2}$$

The component of b orthogonal to some another vector a is simply the difference between b and its projection onto a:

$${\boldsymbol b}_{\perp} = {\boldsymbol b} - \frac{({\boldsymbol b}\cdot{\boldsymbol a})\, {\boldsymbol a}} {||{\boldsymbol a}||^2}$$

Alternatively you can use the vector triple product:

$${\boldsymbol b}_{\perp} = \frac{{\boldsymbol a}\times({\boldsymbol b}\times{\boldsymbol a})} {||{\boldsymbol a}||^2}$$

The way I see it is like this:

From the Horizons vector output, you have x-y-z position of Sun wrt object, so
can get the radial vector. Normalize it to get the unit vector basis u1.

The velocity vector is in the plane of motion. Normalize it to get v1, then
compute the cross-product v1 x u1 to get 2nd basis vector out of the plane, u2.

Then compute the cross product of the radial (in-plane) and out-of-plane
basis vectors to get a third vector in the plane: u1 x u2 = u3

u3 defines the tangential direction. Resolve the original velocity
vector along it (dot product) to get the tangential component of velocity.

Well that's fine but I need to work out from an example:

Here is the data from one particular time for a spacecraft relative to the Sun:

2453736.875000000, A.D. 2006-Jan-01 09:00:00.0000, -2.156346497896881E+07, 1.320794658183279E+08, -4.625147324320897E+05, -2.902293022684082E+01, -9.759936201814883E+00, -6.652160516632621E-02, 4.464052560742120E+02, 1.338289289826075E+08, -4.955740573003551E+00

where the data is

JDCT Epoch Julian Date, Coordinate Time
X x-component of position vector (km)
Y y-component of position vector (km)
Z z-component of position vector (km)
VX x-component of velocity vector (km/sec)
VY y-component of velocity vector (km/sec)
VZ z-component of velocity vector (km/sec)
LT One-way down-leg Newtonian light-time (sec)
RG Range; distance from coordinate center (km)
RR Range-rate; radial velocity wrt coord. center (km/sec)

in that order.

Q1: How do I calculate u1, u2, u3?
Q2: The radial velocity is RR, can we confirm that with a calculation?

$$v=(v_x,v_y,v_z) = (-2.902293022684082E+01, -9.759936201814883E+00, -6.652160516632621E-02)$$
$$p=(x,y,z) = (-2.156346497896881E+07, 1.320794658183279E+08, -4.625147324320897E+05)$$

Therefore

$$|p|= \sqrt{x^2+y^2+z^2}$$

therefore the unit radial vector is

$$u_1 = \frac{p}{|p|}$$

To be continued...

$$v_{rad} = v \cdot u_1$$

$$|p| = 1.33828928982607E+8$$

therefore $$u_1= \frac{1}{1.33828928982607E+8} (-2.156346497896881E+07, 1.320794658183279E+08, -4.625147324320897E+05)$$

I've just run through the vector algebra on MathCAD and got v_rad = -4.95574057300355 which is correct.

And now to cross products...

OK after squeezing my brain back into vector algebra, I calculated

$$v_1= \frac{v}{|v|}$$

$$u_2 = v_1 \times u_1$$

$$u_3 = u_1 \times u_2$$

Then $$v_{tangent}= v \cdot u_3$$ which I calculate to be 2.98180455442852 x 10^1 km/s

If somebody could check this, I would be very grateful....