# Transforming from one spherical coordinate system to another

I have a set of points on the surface of a sphere specified in one coordinate system (specifically, the equatorial coordinate system), and for each point I need to work on all its neighbouring points as if it were on the equator (i.e. as if its elevation were zero).

Specifically, each point is specified by a longitude $\alpha\in[0,2\pi]$ around the system's equator and latitude $\delta\in[-\frac{\pi}{2},\frac{\pi}{2}]$ along a meridian. What I want to do is rotate the equator such that it intersects the point under consideration $(\alpha_0,\delta_0)$ while preserving its longitude; i.e. the point's position becomes $(\alpha_0,0)$.

How should I go about calculating the coordinates of the neighbouring points in the new coordinate system?

P.S. My reason for doing this is to allow me to approximate the space as Euclidean in the vicinity of each point, which only works close to the equator.

• If the longitude's fixed, then you just add/subtract an appropriate amount on the latitude, no? – J. M. isn't a mathematician Dec 17 '11 at 17:49
• @J.M. I thought this at first, but what happens when the point is on one of the poles, and you want to know the transformed coordinates of those around it? Longitude becomes singular at the poles; some of the points might have large longitudinal separations simply by virtue of being on opposite sides of the pole, but when translated down to the equator, they'd be longitudinally "closer"... – Will Vousden Dec 17 '11 at 17:55
• I would probably convert everything to position vectors with Cartesian coordinates and do an orthogonal projection onto a suitable orthogonal basis of a plane tangent to the sphere at coordinates $(\alpha_0,\delta_0)$. That will give you your Euclidean approximation, and you can convert each point in the neighborhood by just a couple of dot products. – David K Jul 26 '18 at 3:00

To make things simpler I assume $\alpha_0=0$ (the desired value of $\alpha_0$ can always be added/subtracted at the end); furthermore I take the equator at $\delta=0$, so the range of the latitude $\delta$ is the interval $[-\pi/2,\pi/2]$. Your change of coordinates amounts to changing the standard basis $(e_1,e_, e_3)$ of ${\mathbb R}^3$ to the new basis

$$\bar e_1=(\cos\delta_0,0,\sin\delta_0), \quad \bar e_2=(0,1,0),\quad \bar e_3=(-\sin\delta_0,0,\cos\delta_0)\ .$$

It follows that the new coordinates $\bar x_k$ are given in terms of the old ones $x_i$ by the formulas

$$\bar x_1=\cos\delta_0 x_1 +\sin\delta_0 x_3, \quad \bar x_2=x_2,\quad \bar x_3=-\sin\delta_0 x_1+\cos\delta_0 x_3\ .$$

Now we have to express this in terms of the "geographical" quantities $\alpha$, $\delta$, resp. $\bar\alpha$, $\bar\delta$. On the one hand we have

$$x_1=\cos\delta\cos\alpha,\quad x_2=\cos\delta\sin\alpha, \quad x_3=\sin\delta\ ,$$

and on the other hand

$$\bar\alpha=\arg\Bigl({\bar x_1\over\rho},{\bar x_2\over\rho}\Bigr), \quad \bar\delta=\arcsin(\bar x_3)\ ,$$

where $\rho:=\sqrt{\bar x_1^2+\bar x_2^2}$. Putting it all together some simplifications will result.

• Perfect, thanks! However, $rho$ doesn't really come into it, does it? It just cancels out in $\arg$. – Will Vousden Dec 18 '11 at 10:12
• @Will Vousden: I put in the $\rho$ in case your $\arg$ function only accepts input of absolute value $1$. – Christian Blatter Dec 18 '11 at 11:22