polyCub (version 0.8.0)

sfg2gpc: Convert polygonal "sfg" to "gpc.poly"

Description

Package polyCub implements a converter from class "(MULTI)POLYGON" of package sf to "gpc.poly" of package rgeos (originally from gpclib) such that polyCub.exact.Gauss can be used with simple feature polygons.

Usage

sfg2gpc(object)

Value

The converted polygon of class "gpc.poly". If neither package rgeos nor gpclib are available, sfg2gpc will just return the pts slot of the "gpc.poly" (no formal class) with a warning.

Arguments

object

a "POLYGON" or "MULTIPOLYGON" "sfg" object.

Author

Sebastian Meyer

See Also

xylist

Examples

Run this code
if (require("rgeos") && require("sf")) {
    ## use example polygons from
    example(plotpolyf, ask = FALSE)

    letterR  # a simple "xylist"
    letterR.sfg <- st_polygon(lapply(letterR, function(xy)
        rbind(cbind(xy$x, xy$y), c(xy$x[1], xy$y[1]))))
    print(letterR.sfg)
    stopifnot(identical(letterR, xylist(letterR.sfg)))
    # \dontshow{
    stopifnot(identical(rep(letterR, 2),
        xylist(st_multipolygon(list(letterR.sfg, letterR.sfg)))))
    # }
    ## convert sf "POLYGON" to a "gpc.poly"
    letterR.gpc_from_sfg <- sfg2gpc(letterR.sfg)
    print(letterR.gpc_from_sfg)
    letterR.xylist_from_gpc <- xylist(letterR.gpc_from_sfg) # with hole info
    stopifnot(identical(letterR, lapply(letterR.xylist_from_gpc, "[", 1:2)))
}

Run the code above in your browser using DataCamp Workspace