area.map(m, regions = ".", sqmi=TRUE, ...)
fill = TRUE
).map
.TRUE
, measure area in square miles. Otherwise
keep the units of m
.match.map
sqmi
option assumes the coordinates have been projected
with the mapproject function.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
area.map
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.
area.polygon
, apply.polygon
# because the projection is rectangular, these are not true areas on the globe.
m = map("state", fill = TRUE, plot = FALSE)
area.map(m)
area.map(m, ".*dakota")
area.map(m, 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
area.map(m, "North Dakota")
}
Run the code above in your browser using DataLab