R: coercion between sp objects and spatstat objects

as.ppp {maptools} | R Documentation

## coercion between sp objects and spatstat objects

### Description

S4-style as() coercion works between objects of S4 sp classes to spatstat S3 classes; direct function calls may also be used.

### Usage

    as.SpatialPoints.ppp(from)
    as.SpatialPointsDataFrame.ppp(from)
    as.SpatialGridDataFrame.ppp(from)
    as.SpatialGridDataFrame.im(from)
    as.psp.Line(from, ..., window=NULL, marks=NULL, fatal)
    as.psp.Lines(from, ..., window=NULL, marks=NULL, fatal)
    as.psp.SpatialLines(from, ..., window=NULL, marks=NULL, characterMarks
                     = FALSE, fatal)
    as.psp.SpatialLinesDataFrame(from, ..., window=NULL, marks=NULL, fatal)
    as.SpatialLines.psp(from)
    as.SpatialPolygons.tess(x)
    as.SpatialPolygons.owin(x)
    as.im.RasterLayer(from)

### Arguments

`from, x` | object to coerce from
`...` | other arguments to be passed through
`window` | window as defined in the spatstat package
`marks` | marks as defined in the spatstat package
`characterMarks` | default FALSE, if TRUE, do not convert NULL narks to factor from character
`fatal` | formal coercion argument

### Methods

coerce

  `signature(from = "SpatialPoints", to = "ppp")`

coerce

  `signature(from = "SpatialPointsDataFrame", to = "ppp")`

coerce

  `signature(from = "Line", to = "psp")`

coerce

  `signature(from = "Lines", to = "psp")`

coerce

  `signature(from = "SpatialLines", to = "psp")`

coerce

  `signature(from = "SpatialLinesDataFrame", to = "psp")`

coerce

  `signature(from = "psp", to = "SpatialLines")`

coerce

  `signature(from = "SpatialGridDataFrame", to = "ppp")`

coerce

  `signature(from = "SpatialPolygons", to = "owin")`

coerce

  `signature(from = "SpatialPixelsDataFrame", to = "owin")`

coerce

  `signature(from = "SpatialGridDataFrame", to = "owin")`

coerce

  `signature(from = "SpatialGridDataFrame", to = "im")`

coerce

  `signature(from = "im", to = "SpatialGridDataFrame")`

coerce

  `signature(from = "ppp", to = "SpatialGridDataFrame")`

coerce

  `signature(from = "ppp", to = "SpatialPointsDataFrame")`

coerce

  `signature(from = "ppp", to = "SpatialPoints")`

coerce

  `signature(from = "owin", to = "SpatialPolygons")`

coerce

  `signature(from = "tess", to = "SpatialPolygons")`

### Note

When coercing a SpatialPolygons object to an owin object, full topology checking is enabled by default. To avoid checking, set `spatstat.options(checkpolygons=FALSE)` (from spatstat (1.14-6)). To perform the checking later, `owinpolycheck(W, verbose=TRUE)`.

### Author(s)

Edzer Pebesma edzer.pebesma@uni-muenster.de, Roger Bivand

### Examples

    if (require(spatstat, quietly=TRUE)) {
    data(meuse)
    coordinates(meuse) = ~x+y
    zn1 <- as(meuse["zinc"], "ppp")
    zn1
    plot(zn1)
    as(as(meuse, "SpatialPoints"), "ppp")
    data(meuse.grid)
    gridded(meuse.grid) = ~x+y
    mg_owin <- as(meuse.grid["dist"], "owin")
    zn1a <- ppp(x=zn1$x, y=zn1$y, marks=zn1$marks, window=mg_owin)
    zn1a
    plot(zn1a)
    rev_ppp_SP <- as.SpatialPoints.ppp(zn1a)
    summary(rev_ppp_SP)
    rev_ppp_SPDF <- as.SpatialPointsDataFrame.ppp(zn1a)
    summary(rev_ppp_SPDF)
    rev_ppp_SGDF <- as.SpatialGridDataFrame.ppp(zn1a)
    summary(rev_ppp_SGDF)
    data(meuse.riv)
    mr <- Line(meuse.riv)
    mr_psp <- as(mr, "psp")
    mr_psp
    plot(mr_psp)
    xx_back <- as(mr_psp, "SpatialLines")
    plot(xx_back)
    xx <- readShapeLines(system.file("shapes/fylk-val.shp", package="maptools")[1],
     proj4string=CRS("+proj=utm +zone=33 +datum=WGS84"))
    xx_psp <- as(xx["LENGTH"], "psp")
    xx_psp
    plot(xx_psp)
    xx_back <- as(xx_psp, "SpatialLines")
    plot(xx_back)
    mg_owin <- as(as(meuse.grid["ffreq"], "SpatialPixelsDataFrame"), "owin")
    mg_owin
    ho_sp <- SpatialPolygons(list(Polygons(list(Polygon(cbind(c(0,1,1,0,0),
      c(0,0,1,1,0))), Polygon(cbind(c(0.6,0.4,0.4,0.6,0.6),
      c(0.2,0.2,0.4,0.4,0.2)), hole=TRUE)), ID="ho")))
    plot(ho_sp, col="red", pbg="pink")
    ho <- as(ho_sp, "owin")
    plot(ho)
    pp <- runifpoint(500, win=ho)
    plot(pp)
    ho_orig <- owin(poly=list(list(x=c(0,1,1,0), y=c(0,0,1,1)),
      list(x=c(0.6,0.4,0.4,0.6), y=c(0.2,0.2,0.4,0.4))))
    identical(ho, ho_orig)
    ho_sp1 <- as(ho, "SpatialPolygons")
    all.equal(ho_sp, ho_sp1, check.attributes=FALSE)
    A <- tess(xgrid=0:4,ygrid=0:4)
    A_sp <- as(A, "SpatialPolygons")
    plot(A_sp)
    text(coordinates(A_sp), labels=row.names(A_sp), cex=0.6)
    mg_dist <- meuse.grid["dist"]
    fullgrid(mg_dist) <- TRUE
    image(mg_dist, axes=TRUE)
    mg_im <- as(mg_dist, "im")
    plot(mg_im)
    mg2 <- as.SpatialGridDataFrame.im(mg_im)
    image(mg2, axes=TRUE)
    if (require(raster, quietly=TRUE)) {
    r <- as(mg2, "RasterLayer")
    r_im <- as.im.RasterLayer(r)
    plot(r_im)
    }
    }

[Package maptools version 0.9-3 Index]