R: Coerce '"SpatialPolygons"' to '"owin"'

coerce-sp-methods {polyCub} | R Documentation

## Coerce `"SpatialPolygons"` to `"owin"`

### Description

Package polyCub implements `coerce`-methods (`as(object, Class)`) to convert `"SpatialPolygons"` (or `"Polygons"` or `"Polygon"`) to `"owin"`. They are also available as `as.owin.*` functions to support `polyCub.midpoint`. Note that the maptools package contains an alternative implementation of coercion from `"SpatialPolygons"` to `"owin"` (and reverse); R will use the method that was loaded last.

### Usage

    as.owin.SpatialPolygons(W, ...)

    as.owin.Polygons(W, ...)

    as.owin.Polygon(W, ...)

### Arguments

`W` | an object of class `"SpatialPolygons"`, `"Polygons"`, or `"Polygon"`.
`...` | further arguments passed to `owin`.

### Author(s)

Sebastian Meyer

### See Also

`xylist`

### Examples

    if (require("spatstat.geom") && require("sp")) {
        diamond <- list(x = c(1,2,1,0), y = c(1,2,3,2))  # anti-clockwise
        diamond.owin <- owin(poly = diamond)
        diamond.sp <- Polygon(lapply(diamond, rev))      # clockwise
        stopifnot(identical(xylist(diamond.sp), list(diamond)))
        diamond.owin_from_sp <- as.owin(diamond.sp)
        stopifnot(all.equal(diamond.owin, diamond.owin_from_sp))

        ## similarly works for Polygons and SpatialPolygons
        diamond.Ps <- as(diamond.sp, "Polygons")
        stopifnot(identical(diamond.owin, as.owin(diamond.Ps)))
        diamond.SpPs <- SpatialPolygons(list(diamond.Ps))
        stopifnot(identical(xylist(diamond.SpPs), list(diamond)))
        stopifnot(identical(diamond.owin, as.owin(diamond.SpPs)))
    }

[Package polyCub version 0.8.0 Index]