The exact calculation is impossible because the scene is volumetric. If the scene had flat details you could get a map and match the map and the photograph and get the function.
However you can still get the map and try to match it manually suggesting that the drone moved vertically. Your process should be something like:
- find the photographer's position on the map
- pick two points on every horizontal line and find matching pairs of points on the map (yes this is human work yet)
- knowing the scale of the object gives you distance
- the drone's height, the drones sight on every object (aka the distance) and the projection of drones sight form a 90 degree triangle. You know the projection of drones sight (from the map) and you know the distance from drone to the object (you get it from the ratio between the matched points distance ratio). You will get the height if you use Pifagor's theorem
- given the height you can calculate the angle as a trigonometric function: angle = arctan ( height / distance ) - it will graduate from 90 deg to 0 deg for a rising copter. Calculating height for each horizontal line gives you a set of pairs < angle, height > which you can interpolate
This is a hint on how you'd do it and it is not very detailed.
Usage of fisheye objective makes this much more difficult to formalize. It is still guessable if you keep your matching pairs close to the center vertical of photograph.