Create polygon lists and bounding boxes from imported shapefiles
Map2poly() is a function to make imported GIS vector polygons into a "polylist" object from a "Map" object. Map2bbs() retrieves polygon bounding boxes; analogous functions for the "shapefiles" package are shape2poly() and shape2bbs() (thanks to St�phane Dray for his contribution); convert.pl() serves to convert the deprecated "multipart" "polylist" format to an NA-separated format now used by plot() for polylist objects and poly2nb().
*2points() do the same as
*2poly() for shapefiles of types 3=lines and 1=points; polygons are type=5.
Map2poly(Map, region.id = NULL, raw=TRUE) Map2lines(Map) Map2points(Map)Map2bbs(Map) shape2poly(shape, region.id = NULL) shape2lines(shape) shape2points(shape)shape2bbs(shape) convert.pl(pl)
- object of class
"Map", imported from a GIS polygon vector file using unpublished package "maptools"
- list returned by
read.shapefile(), imported from a GIS polygon vector file using the package "shapefiles"
- character vector of region ids to be added to the neighbours list as attribute
- default TRUE until next release, if TRUE, do not run sanity check for ring directions implying holes in no surrounding polygon
- list of old-style multipart polygons of class
From release 0.4-1,
Map2poly tries to determine a plotting order for multiple parts of a single polygon object, and for lists of polygon objects to avoid overplotting. It also tries to respect the ESRI-stipulated rule that lakes are anti-clockwise and islands are clockwise:
convert.plreturn polylist objects, lists of polygon boundary coordinates (divided by NA where the polygon object is represented by more than one polygon) with many attributes;
shape2linesreturn lineslist objects;
shape2pointsreturn (n x 2) matrices; and
shape2bbsreturn bounding box matrixes, c(x1, y1, x2, y2) with coordinates for the lower left corner and upper right corner.
try2 <- read.shape(system.file("shapes/columbus.shp", package="maptools")) mappolys <- Map2poly(try2, as.character(try2$att.data$NEIGNO), raw=FALSE) plot(mappolys, forcefill=FALSE) title(main="Polygons for Columbus OH from maptools package") try3 <- read.shape(system.file("shapes/baltim.shp", package="maptools")) baltpts <- Map2points(try3) xylims <- attr(baltpts, "maplim") plot(xylims$x, xylims$y, asp=1, type='n', xlab="", ylab="") points(baltpts) title(main="Baltimore points from maptools package") try4 <- read.shape(system.file("shapes/fylk-val.shp", package="maptools")) fylk.val <- Map2lines(try4) xylims <- attr(fylk.val, "maplim") plot(xylims$x, xylims$y, asp=1, type='n', xlab="", ylab="") for (i in 1:length(fylk.val)) lines(fylk.val[[i]]) title(main="Norwegian river centrelines from maptools package")