0
votes

Say I have a plane flying at a point on the Earth. The model of the Earth I am using has it's latitude going from -90/90 and longitude going from -180/180. The plane is flying at a lat/long of 80.123º and 170.123º and an altitude of 10,000 ft for example like in the attached picture. The plane also has a heading, which is it's angle from North. In the picture the angle is a little more than 180º so it's flying away from the North pole. Now, I want to find the latitude and longitude of a point from this plane. I am given a distance d, which is the distance between the plane and the point and it should be in the direction that the plane is pointing (the heading). I am also given the altitude of this point. Can someone please help me find a formula I can use to calculate the latitude/longitude of the point in general given any lat/long/altitude/heading of the plane? Thanks a lot.

    #EDIT: Below is my conversion of Vitor's calculations to a Python script

    r_earth = 3440 #earth radius in nautical miles
    h_plane = 1.645788 #plane flying at 10000 ft in nautical miles
    h_dest = 0
    P = 90 #flying 90 degrees from North, so towards Florida
    #lat,long of the center of Texas = 31.005753,-99.21390 
    d = 10 # point is 10 nautical miles away
    PN = 58.994247 #latitude = 90 - PN
    longitude = -99.21390 
    r_plane = r_earth + h_plane
    r_dest = r_earth + h_dest
    PD = math.acos((r_plane**2 + r_dest**2 - d**2)/(2*r_plane*r_dest))
    ND = math.acos(math.cos(PN)*math.cos(PD) + math.sin(PN)*math.sin(PD)*math.cos(P))
    N = math.asin(math.sin(PD)*math.sin(P)/math.sin(ND))
    print(str(90 - ND) + "," + str(longitude + math.sin(N)))

diagram

1
Do you know how to find the angular distance between the aircraft and the point, as measured from the center of the earth? - Beta
@Beta Hi Beta, thanks for the input. I would know the radius of the earth, altitude of the point and the aircraft so I believe it would be possible to calculate the angle difference between both points but I'm not exactly sure since my geometry is a bit rusty. I believe the heading of the aircraft wouldn't change the angle difference in that calculation - john rowland
Correct. (And you will have to polish your trigonometric skills at least enough for that, or the answers won't make sense to you.) Now suppose the aircraft is at the North Pole, and you are given its heading as measured from the prime meridian (e.g. -83 means it is headed for Columbus, Ohio). Given the angular distance, can you find the lat/lon of the point? - Beta
@Beta say the aircraft altitude is 10,000 ft (so 1.65 nautical miles) and the point has an altitude of 0 (surface of the earth) and distance d between the aircraft and point is 10 nautical miles (hypotenuse). Now I have a right triangle so I can find the distance between both points on the surface of the Earth (disregarding the curvature of the Earth). I calculate it to be 99.986 nm. Now using the arc length formula (length = (theta/360º) * (2pi * r)) where r is the radius of the Earth (3440 nm) and theta is the angle between both points from the center of the Earth. - john rowland
@Beta Plugging everything in I get theta = (99.986 nm/ 2pi * 3440 nm) * 360º = 1.67º. But now that I know this, I'm kind of lost as where to go from here. How do I factor in the heading of the aircraft? - john rowland

1 Answers

1
votes

I'm assuming the Earth is spherical (with low error).

Consider the spherical triangle (plane, North Pole, destination) = PND.

First, convert distance d to the spherical arc between the plane and its destination, with the (Planar) Cosine Rule:

r_plane = (r_earth + h_plane)
r_dest = (r_earth + h_dest)
cos(PD) = (r_plane^2 + r_dest^2 - d^2)/(2*r_plane*r_dest)

Note that

  1. 90-PN is the plane's latitude, and
  2. the angle at P is the plane's heading (azimuth).

Now, with the Spherical Cosine Rule:

cos(ND) = cos(PN)*cos(PD) + sin(PN)*sin(PD)*cos(P)

And you can obtain destination's latitude computing 90-ND.

This time, using the Spherical Sine Rule:

sin(N) = sin(PD)*sin(P)/sin(ND)

Which gives the absolute difference in longitude between the plane and its destination.