A gibble is a geometry map, a summary of the structure of each path within a simple planar shape. The generic function gibble() will summarize all paths within a complex type with a data frame row for each. Each row of the gibble summary represents a component element of the object's geometry and records the number of rows (i.e. how many coordinates) and the number of columns (i.e. the number of axes in the geometric space). Another column type records the class of the object, and object records an identifier for the entire object. A special case column subobject identifies the component POLYGON part within a MULTIPOLYGON. I.e. subobject is 1 unless that part is a hole. All identifiers are sequential within the higher level groupings.

# S3 method for POINT
gibble(x, ...)

# S3 method for MULTIPOINT
gibble(x, ...)

# S3 method for LINESTRING
gibble(x, ...)

# S3 method for MULTILINESTRING
gibble(x, ...)

# S3 method for POLYGON
gibble(x, ...)

# S3 method for MULTIPOLYGON
gibble(x, ...)

# S3 method for list
gibble(x, ...)

# S3 method for sfc
gibble(x, ...)

# S3 method for sf
gibble(x, ...)

# S3 method for PATH0
gibble(x, ...)

# S3 method for PATH
gibble(x, ...)

# S3 method for trip
gibble(x, ...)

# S3 method for Polygon
gibble(x, ...)

# S3 method for Polygons
gibble(x, ...)

# S3 method for SpatialPolygons
gibble(x, ...)

# S3 method for Line
gibble(x, ...)

# S3 method for Lines
gibble(x, ...)

# S3 method for SpatialLines
gibble(x, ...)

# S3 method for SpatialMultiPoints
gibble(x, ...)

# S3 method for SpatialPoints
gibble(x, ...)

# S3 method for Spatial
gibble(x, ...)

gibble(x, ...)

# S3 method for default
gibble(x, ...)

Arguments

x

geometry model

...

arguments reserved for methods, none currently

Value

data frame summarizing the geometry map, see Details

Details

Methods are provided for the sf classes. There is an internal version that is designed to work fast on sets of structures, by delaying conversion to list or data frame for as late as possible.

A geometry map is not so helpful on its own, and so does not have a formal class. It is designed for use within other workflows such as updating the coordinates of model object or translating between superficially different formats.

Gibble is a distillation of the sc_path encoding of package silicate, which came from the map_table decompositions of spbabel, as an improvement on the single-table fortify model used in ggplot2.

Examples

gibble(minimal_mesh)
#> # A tibble: 3 x 5 #> nrow ncol type subobject object #> <int> <int> <chr> <int> <int> #> 1 8 2 MULTIPOLYGON 1 1 #> 2 6 2 MULTIPOLYGON 1 1 #> 3 5 2 MULTIPOLYGON 1 2