When writing transformation functions, it is often useful to know which handler should be used to create a (potentially modified) version of an object. Some transformers (e.g., wk_vertices()) modify the geometry type of an object, in which case a generic writer is needed. This defaults to wkb_writer() because it is fast and can handle all geometry types.

# S3 method for sfc
wk_writer(handleable, ...)

# S3 method for sf
wk_writer(handleable, ...)


wkb_writer(buffer_size = 2048L, endian = NA_integer_)

wkt_writer(precision = 16L, trim = TRUE)

wk_writer(handleable, ..., generic = FALSE)

# S3 method for default
wk_writer(handleable, ...)

# S3 method for wk_wkt
wk_writer(handleable, ..., precision = 16, trim = TRUE)

# S3 method for wk_wkb
wk_writer(handleable, ...)

# S3 method for wk_xy
wk_writer(handleable, ..., generic = FALSE)




A geometry vector (e.g., wkb(), wkt(), xy(), rct(), or sf::st_sfc()) for which wk_handle() is defined.


Passed to the writer constructor.


Control the initial buffer size used when writing WKB.


Use 1 for little endian, 0 for big endian, or NA for system endian.


If trim is TRUE, the total number of significant digits to keep for each result or the number of digits after the decimal place otherwise.


Use FALSE to keep trailing zeroes after the decimal place.


Use TRUE to obtain a writer that can write all geometry types.


A wk_handler.