I'm using a star database (the HYG database) which has xyz positions and velocities for the stars. This has +X towards the vernal equinox, +Z towards north celestial pole, +Y towards Right Ascension 6 hours and it's based on J2000 and centered on the sun.

I'd like to convert these to a Cartesian Galactic coordinate system centered on the sun, with +X pointing to its center and +Z angled so that it shoots out of the galactic plane on the north side.

This should just be a simple rotation, but after a lot of searching I can't seem to find the rotation to use, nor some way of converting it through a third system. Does anyone know how to obtain the correct rotation matrix here? (or some other method of rotation)


To transform an equatorial $(x, y, z)$ into a galactic $(x_G, y_G, z_G)$, the Gaia data release 1 documentation, section 3.1.7, uses

$$ \begin{bmatrix} x_G \\ y_G \\ z_G\end{bmatrix} = \mathbf{A}'_G \begin{bmatrix} x \\ y \\ z \end{bmatrix} $$


$$ \mathbf{A}'_G = \begin{bmatrix} {−0.054876} ~ {−0.873437} ~ {−0.483835} \\ {+0.494109} ~ {−0.444830} ~ {+0.746982} \\ {−0.867666} ~ {−0.198076} ~ {+0.455984} \end{bmatrix} $$ is composed of three coordinate frame rotations $$ \mathbf{A}'_G = \mathbf{R}_Z(-l_\Omega) ~ \mathbf{R}_X(90^\circ - \delta_G) ~ \mathbf{R}_Z(\alpha_G + 90^\circ) $$ with the north galactic pole at equatorial coordinates $(\alpha_G = 192.859^\circ, \delta_G = +27.128^\circ)$ and the galactic equator crossing the celestial equator at galactic longitude $l_\Omega = 32.932^\circ$.

This is equivalent to the transformation defined in the Hipparcos catalogue, volume 1, section 1.5.3.

Murray 1989 and Liu 2011 give similar matrices whose elements differ after 6 decimal places, which matters only if you require sub-arcsecond precision.

  • $\begingroup$ Thank you! I can confirm this formula seems to be correct based on the results $\endgroup$ Mar 31 '18 at 14:23
  • 1
    $\begingroup$ For completeness, the Gaia DR2 documentation also includes this transformation, but it looks like its the same as used for DR1. $\endgroup$
    – user24157
    Nov 3 '19 at 12:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.