Research  |   Contributions  |   Matrices  |   Methods  |   Library  |   Photos  |   Links  
Methods > Calculating palaeoareas

Calculating the area of spherical polygons


To calculate the area of a polygon enveloping fossil occurrences known from their palaeolatitude and palaeolongitudes.

Data required

At least three points (i.e. forming minimally a triangle) of palaeolatitude and palaeolongitude. The calculation is the same for modern longitude or latitude, but here I assume the palaeoarea is the target of interest. By convention southerly latitudes and westerly longitudes are negative and northerly latitudes and easterly longitudes are positive.


Calculating the area of a polygon on a sphere is complicated by several factors. For example, although latitude is also a measure of distance longitude is not. A method for calculating the area of a spherical polygon was described by Bevis and Cambareri (1987). They provide a FORTRAN implementation of a function which is fed a vector of longitudes, a corresponding vector of latitudes and the radius of the sphere. This function is adapted here for use in the more user-friendly and freely available statistical progamming language R. Bevis and Cambareri (1987) note that a polygon on a sphere actually bounds two areas that can be thought of as 'inside' and 'outside'. Critically, both are finite and hence their areas can be calculated. In order to specify that the required area is the 'inside', the function must be fed the points in clockwise order. In the R implementation here this process is automated. (If the user wishes to calculate the 'outside' area they need merely subtract the result from the total surface area of the sphere.) Here it is assumed that the Earth is the sphere of interest and hence a radius of 6371 km is used. (The function is easily modified to include other radii.) It should be noted that in reality the Earth is not a perfect sphere, but the function assumes it is.


1. Install and run R (it's free!).

2. Install the fossil library from within R, making sure to include any dependencies.

3. Copy and paste the following line into R and hit enter:


4. Enter palaeolatitudes and palaeolongitudes as vectors, e.g.:


5. Use these vectors in the function, e.g.:

    sphpolyarea(vlat=latitudes, vlon=longitudes)

6. The result is the area in square kilometres.

Reference cited

Bevis, M. and G. Cambareri, 1987. Computing the area of a spherical polygon of arbitrary shape. Mathematical Geology, 19, 335-346.

Last updated 7th November 2008.