[Math] Area of a geopolygon or polygon defined by longitude/latitude points

geometryspherical-geometry

How would you go about finding the real area of a polygon which is defined by latitude/longitude points? Remember that the real area is different as a map is distorted towards the poles.

Best Answer

The area of a spherical polygon is proportional to its excess angle. In the plane, a $n$-gon would have an interior angle sum of $(n-2)\pi$. On the sphere, the angle sum $\alpha$ is larger than that. Compute the difference, multiply with a suitable constant (which is $r^2$ as I'll show below) and you have the area.

$$A = \bigl(\alpha-(n-2)\pi\bigr)r^2$$

The fact that the proportionality factor has to be $r^2$ can be deduced like this: On the unit sphere, the hemisphere can be interpreted as a $2$-gon with two angles of $\pi$, stretching from pole to pole. Therefore you get $A=2\pi$, which is exactly half of the surface area of the complete sphere, as expected. Scale your sphere by a factor of $r$, and all areas will scale by $r^2$.

To compute these interior angles from latitude and longitude, you can have a look at how to compute the initial course for great-circle navigation. The difference between bearings towards adjacent corners will give you the angle at the current corner.