Area of projected map regions

View source: R/polygon.r

area.mapR Documentation

Area of projected map regions


Computes the areas of regions in a projected map.

Usage, regions = ".", sqmi=TRUE, ...)



a map object containing named polygons (created with fill = TRUE).


a character vector naming one of more regions, as in map.


If TRUE, measure area in square miles. Otherwise keep the units of m.


additional arguments to


The area of each matching region in the map is computed, and regions which match the same element of regions have their areas combined. Each region is assumed planar, with vertices specified by the x and y components of the map object.

The correct use of this function is to first use map to create polygons and project the coordinates onto a plane, then apply to compute the area of the projected regions. If the projection is area-preserving (such as albers), then these areas will match the area on the globe, up to a constant. To get an absolute area in square miles, the sqmi option will scale the result, depending on the projection.

The coordinates from map are affected by its resolution argument, so use resolution=0 for the most accurate areas.


a named vector of region areas.


The sqmi option assumes the coordinates have been projected with the mapproject function.


Tom Minka

See Also

area.polygon, apply.polygon


# because the projection is rectangular, these are not true areas on the globe.
m = map("state", fill = TRUE, plot = FALSE), ".*dakota"), c("North Dakota", "South Dakota"))

if(require(mapproj)) {
  # true areas on the globe
  m = map("state", proj="bonne", param=45, fill=TRUE, plot=FALSE)
  # North Dakota is listed as 70,704 square miles, "North Dakota")

maps documentation built on May 29, 2024, 9:04 a.m.