This version 3 of the maps package. The main change with respect to v2 is a new world map. The old map legacy map is included and switching to "legacy" mode is explained below.
The new 'world' database has a higher resolution than before and looks much smoother. In fact, for some applications it may now suffice rather than needing to import worldHires.
Most functions now use perl-style regular expressions internally, rather than the default style. This gives more flexibility.
v3.1 includes support for 'SpatialPolygons' and 'SpatialLines' classes. Such objects can now either be passed to map() directly or first be converted to a map-type list with the new functions 'SpatialPolygons2map()' and 'SpatialLines2map'. These functions do not copy all the information present in the original data: only polygon names and co-ordinates are preserved (additional information like holes, plotting order etc. is ignored).
A new databse 'lakes' has been added. The standard 'world' map no longer contains any lakes.
A data frame iso3166 has been added which, for every country on the new world map, lists the official name, the ISO3166 2- and 3-letter codes, and also the sovereignty. Type '?iso3166' for details.
A set of simple functions use this iso3166 table for creating a list of countries to map. So you can use the 2- or 3-letter ISO code (e.g. as country labels on a map), but also create a list based on the sovereignty. Type '?iso.expand' for details.
v3.2 adds new options to map() for wrapping and exact boundary clipping.
map(..., exact=FALSE)
map.text(..., exact=TRUE, add=TRUE)
There are a few mechanisms to use the old 'world' database rather than the updated one, should that be necessary: - Using 'database=legacy_world' - Setting R_MAP_DATA_LEGACY=TRUE in the environment prior to loading maps - Deprecated: Calling world.legacy(TRUE) for switching to the old database and world.legacy(FALSE) to switch back on the fly.
The last two options should only be used as a temporary last resource, to quickly run code that requires the old database without having to edit it.
In v3.3, all these methods are deprecated (but will still function). The data set has been moved to the 'mapdata' package, where it is called "worldLores".
Note that the worldHires database from the mapdata package has identical map naming than the legacy world map. The only difference is in the resolution of the polylines. That high resolution version of the legacy map will remain unchanged.
Please inform the maintainer of any problem that requires a fallback to the legacy database!
Natural Earth also supports a high-resolution (1:10m) world map. Rather than replacing 'worldHires' (in the mapdata package), this data set is available from the package mapdataNE (not yet on CRAN but already available from http://github.com/adeckmyn/mapdataNE).
Even maps in e.g. shapefile format can now easily be imported for use in 'map()'. For instance the package 'maptools' offers the function 'readShapePoly()', which reads a shapefile into a 'SpatialPolygonsDataFrame' that can be used as a map database (as of version 3.1).
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.