Map2poly              package:maptools              R Documentation

_C_r_e_a_t_e _p_o_l_y_g_o_n _l_i_s_t_s _a_n_d _b_o_u_n_d_i_n_g _b_o_x_e_s _f_r_o_m _i_m_p_o_r_t_e_d _s_h_a_p_e_f_i_l_e_s

_D_e_s_c_r_i_p_t_i_o_n:

     Map2poly() is a simple function to make imported GIS vector
     polygons into a "polylist" object from a "Map" object, and
     Map2bbs() retrieves polygon bounding boxes; analogous functions
     for the "shapefiles" package are shape2poly() and shape2bbs()
     (thanks to Stphane 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().  '*2lines()' and '*2points()' do the same as '*2poly()'
     for shapefiles of types 3=lines and 1=points; polygons are type=5.

_U_s_a_g_e:

     Map2poly(Map, region.id = NULL)
     Map2lines(Map)
     Map2points(Map)
     Map2bbs(Map)
     shape2poly(shape, region.id = NULL)
     shape2lines(shape)
     shape2points(shape)
     shape2bbs(shape)
     convert.pl(pl)

_A_r_g_u_m_e_n_t_s:

     Map: object of class '"Map"', imported from a GIS polygon vector
          file using unpublished package "maptools"

   shape: list returned by 'read.shapefile()', imported from a GIS
          polygon vector file using the package "shapefiles"

region.id: character vector of region ids to be added to the neighbours
          list as attribute 'region.id'

      pl: list of old-style multipart polygons of class 'polylist'

_D_e_t_a_i_l_s:

     <URL: http://sal.agecon.uiuc.edu/datasets/columbus.zip>

_V_a_l_u_e:

     'Map2poly', 'shape2poly', 'convert.pl' return polylist objects,
     lists of polygon boundary coordinates (divided by NA where the
     polygon object is represented by more than one polygon);
     'Map2lines', 'shape2lines' return lineslist objects; 'Map2points',
     'shape2points' return (n x 2) matrices; and 'Map2bbs', 'shape2bbs'
     return bounding box matrixes, c(x1, y1, x2, y2) with coordinates
     for the lower left corner and upper right corner.

_A_u_t_h_o_r(_s):

     Roger Bivand and Stphane Dray, Roger.Bivand@nhh.no

_S_e_e _A_l_s_o:

     'read.shape', 'read.shapefile'

_E_x_a_m_p_l_e_s:

     shp <- try(library(shapefiles))
     if (class(shp) != "try-error") {
       ShapeDir <- system.file("shapes", package="maptools")[1]
       try1 <- read.shapefile(paste(ShapeDir, "columbus", sep="/"))
       shppolys <- shape2poly(try1, as.character(try1$dbf$dbf$NEIGNO))
       plot(shppolys)
       title(main="Polygons for Columbus OH from shapefiles package")
       try3a <- read.shapefile(paste(ShapeDir, "baltim", sep="/"))
       baltptsa <- shape2points(try3a)
       xylims <- attr(baltptsa, "maplim")
       plot(xylims$x, xylims$y, asp=1, type='n', xlab="", ylab="")
       points(baltptsa)
       title(main="Baltimore points from shapefiles package")
       try4a <- read.shapefile(paste(ShapeDir, "fylk-val", sep="/"))
       fylk.vala <- shape2lines(try4a)
       xylims <- attr(fylk.vala, "maplim")
       plot(xylims$x, xylims$y, asp=1, type='n', xlab="", ylab="")
       for (i in 1:length(fylk.vala)) lines(fylk.vala[[i]])
       title(main="Norwegian river centrelines from shapefiles package")
     }
     try2 <- read.shape(system.file("shapes/columbus.shp", 
       package="maptools")[1])
     mappolys <- Map2poly(try2, as.character(try2$att.data$NEIGNO))
     plot(mappolys)
     title(main="Polygons for Columbus OH from maptools package")
     if (class(shp) != "try-error") {
       plot(shppolys)
       plot(mappolys, add=TRUE, border="red", lty="dotted")
       title(main="Polygons for Columbus OH overplotted from both packages")
     }
     try3 <- read.shape(system.file("shapes/baltim.shp", package="maptools")[1])
     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")[1])
     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")

