Reverse Haversine to find point

1.1k Views Asked by At

I need help with rearranging the Haversine formula, which is commonly used for calculating the Great Circle (GC) distance between two known points. I know the first point, I know the longitude of the second point and I know the GC distance to the second point. What I don't know and need to calculate is the latitude of the second point.

For example:

lat1 = 0
lon1 = 0
lat2 = ?
lon2 = 0
GC distance = 500KM

Someone already posted basically the same question but the only given answer misses the point. See Reverse use of Haversine formula (I do not have enough points on this site to comment and revive that particular question).

tldr; please rearrange the haversine formula (see below) to let me solve for lat2.


Haversine formula $$d=2r\,sin^{-1}\Biggl(\sqrt{sin^2\biggl(\frac{lat2-lat1}{2}\biggr)+cos(lat1)\,cos(lat2)\,sin^2\biggl(\frac{lon2-lon1}{2}\biggr)}\Biggr)$$

1

There are 1 best solutions below

0
On

Longitude is relatively easy to calculate

$$ lon2 = lon1 + 2 sin^{-1}(\sqrt{sec(lat1) sec(lat2) sin^2(\frac{d}{2r})-sec(lat1) sec(lat2) sin^2(\frac{lat2 - lat1}{2} )}) $$

Latitude is a mess. I'm not even going to bother transcribing this into LaTex.

lat2 = sec^(-1)(((8 cos(d/r) sec(lat1) sin^6((lon1 - lon2)/2))/(4 sin^4((lon1 - lon2)/2) - 4 sin^2((lon1 - lon2)/2) + tan^2(lat1) + 1) + (4 sqrt(tan^2(lat1) (4 sin^4((lon1 - lon2)/2) - 4 sin^2((lon1 - lon2)/2) - cos^2(d/r) sec^2(lat1) + tan^2(lat1) + 1)) sin^4((lon1 - lon2)/2))/(4 sin^4((lon1 - lon2)/2) - 4 sin^2((lon1 - lon2)/2) + tan^2(lat1) + 1) - (12 cos(d/r) sec(lat1) sin^4((lon1 - lon2)/2))/(4 sin^4((lon1 - lon2)/2) - 4 sin^2((lon1 - lon2)/2) + tan^2(lat1) + 1) - 4 cos(d/r) sec(lat1) sin^2((lon1 - lon2)/2) - (4 sqrt(tan^2(lat1) (4 sin^4((lon1 - lon2)/2) - 4 sin^2((lon1 - lon2)/2) - cos^2(d/r) sec^2(lat1) + tan^2(lat1) + 1)) sin^2((lon1 - lon2)/2))/(4 sin^4((lon1 - lon2)/2) - 4 sin^2((lon1 - lon2)/2) + tan^2(lat1) + 1) + (2 cos(d/r) sec(lat1) tan^2(lat1) sin^2((lon1 - lon2)/2))/(4 sin^4((lon1 - lon2)/2) - 4 sin^2((lon1 - lon2)/2) + tan^2(lat1) + 1) + (6 cos(d/r) sec(lat1) sin^2((lon1 - lon2)/2))/(4 sin^4((lon1 - lon2)/2) - 4 sin^2((lon1 - lon2)/2) + tan^2(lat1) + 1) + 2 cos(d/r) sec(lat1) + (tan^2(lat1) sqrt(tan^2(lat1) (4 sin^4((lon1 - lon2)/2) - 4 sin^2((lon1 - lon2)/2) - cos^2(d/r) sec^2(lat1) + tan^2(lat1) + 1)))/(4 sin^4((lon1 - lon2)/2) - 4 sin^2((lon1 - lon2)/2) + tan^2(lat1) + 1) + sqrt(tan^2(lat1) (4 sin^4((lon1 - lon2)/2) - 4 sin^2((lon1 - lon2)/2) - cos^2(d/r) sec^2(lat1) + tan^2(lat1) + 1))/(4 sin^4((lon1 - lon2)/2) - 4 sin^2((lon1 - lon2)/2) + tan^2(lat1) + 1) - (cos(d/r) sec(lat1) tan^2(lat1))/(4 sin^4((lon1 - lon2)/2) - 4 sin^2((lon1 - lon2)/2) + tan^2(lat1) + 1) - (cos(d/r) sec(lat1))/(4 sin^4((lon1 - lon2)/2) - 4 sin^2((lon1 - lon2)/2) + tan^2(lat1) + 1))/(cos^2(d/r) sec^2(lat1) - tan^2(lat1)))