Create a regular tiling polygon geometry for the extent of an anchor value.

gs_tiles(anchor = NULL, width = NULL, pattern = "squared", centroids = FALSE)

## Arguments

anchor |
[`geom(1)` |`data.frame(1)` ] Object to derive the
tiling `geom` from. It must include column names `x` , `y`
and optionally a custom `fid` . |

width |
[`numeric(1)` ] the width (which does not correspond to
the height in case of `pattern = "hexagonal"` ) of a tile. |

pattern |
[`character(1)` ] pattern of the tiling. Possible
options are `"squared"` (default) or `"hexagonal"` . |

centroids |
[`logical(1)` ] should the centroids of the tiling be
returned (`TRUE` ) or should the tiling be returned (`FALSE` ,
default)? |

## Value

A `geom`

.

## Details

When deriving a regular tiling for a prescribed window, there is
only a limited set of legal combinations of cells in x and y dimension. For
instance, a window of 100 by 100 can't comprise 10 by 5 squares of
side-length/width 10, because then the y-dimension wouldn't be fully
covered. The same is true for hexagonal and triangular tilings.

## See also

## Examples

# create a squared tiling
aWindow <- data.frame(x = c(-180, 180),
y = c(-60, 80))
tiles <- gs_tiles(anchor = aWindow, width = 10)
visualise(`10° world tiles` = tiles)
# create a hexagonal tiling on top of a geom
coords <- data.frame(x = c(40, 70, 70, 50),
y = c(40, 40, 60, 70))
window <- data.frame(x = c(0, 80),
y = c(0, 80))
aGeom <- gs_polygon(anchor = coords, window = window)
visualise(`honeycomb background` = aGeom)
hex <- gs_tiles(anchor = aGeom, width = 8, pattern = "hexagonal")
visualise(hex, linecol = "deeppink", new = FALSE)