These functions provide ways to extract individual coordinate values.
Whereas wk_vertices() returns a vector of coordinates as in the same
format as the input, wk_coords() returns a data frame with coordinates
as columns.
wk_vertices(handleable, ...)
wk_coords(handleable, ...)
wk_coords(handleable, use_z = NA, use_m = NA) <- value
wk_vertex_filter(handler, add_details = FALSE)A geometry vector (e.g., wkb(), wkt(), xy(),
rct(), or sf::st_sfc()) for which wk_handle() is defined.
Passed to the wk_handle() method.
Used to declare the output type. Use TRUE to
ensure the output has that dimension, FALSE to ensure it does not,
and NA to leave the dimension unchanged.
An xy(), xyz(), xym(), or xyzm() of coordinates
used to replace values in the input. Use NA to keep the existing
value.
A wk_handler object.
Use TRUE to add a "wk_details" attribute, which
contains columns feature_id, part_id, and ring_id.
wk_vertices() extracts vertices and returns the in the same format as
the handler
wk_coords() returns a data frame with columns columns feature_id
(the index of the feature from whence it came), part_id (an arbitrary
integer identifying the point, line, or polygon from whence it came),
ring_id (an arbitrary integer identifying individual rings within
polygons), and one column per coordinate (x, y, and/or z and/or m).
wk_coords<- is the replacement-function version of 'wk_coords'.
Using the engine of wk_trans_explicit() the coordinates of an object
can be transformed in a generic way using R functions as needed.
wk_vertices(wkt("LINESTRING (0 0, 1 1)"))
#> <wk_wkt[2]>
#> [1] POINT (0 0) POINT (1 1)
wk_coords(wkt("LINESTRING (0 0, 1 1)"))
#> feature_id part_id ring_id x y
#> 1 1 1 0 0 0
#> 2 1 1 0 1 1
# wk_coords() replacement function
x <- xy(1:5, 1:5)
y <- as_wkt(x)
wk_coords(y) <- cbind(5:1, 0:4)
wk_coords(x) <- y[5:1]
y
#> <wk_wkt[5]>
#> [1] POINT (5 0) POINT (4 1) POINT (3 2) POINT (2 3) POINT (1 4)
x
#> <wk_xy[5]>
#> [1] (1 4) (2 3) (3 2) (4 1) (5 0)