These functions are optimised for graphics output, which in R require flat coordinate structures. See graphics::points(), graphics::lines(), and graphics::polypath() for how to send these to a graphics device, or grid::pointsGrob(), grid::linesGrob(), and grid::pathGrob() for how to create graphical objects using this output.

wkb_coords(wkb, sep_na = FALSE)

wkt_coords(wkt, sep_na = FALSE)

wksxp_coords(wksxp, sep_na = FALSE)

Arguments

wkb

A list() of raw() vectors, such as that returned by sf::st_as_binary().

sep_na

Use TRUE to separate geometries and linear rings with a row of NAs. This is useful for generating output that can be fed directly to graphics::polypath() or graphics::lines() without modification.

wkt

A character vector containing well-known text.

wksxp

A list() of classed objects

Value

A data.frame with columns:

  • feature_id: The index of the top-level feature

  • part_id: The part identifier, guaranteed to be unique for every simple geometry (including those contained within a multi-geometry or collection)

  • ring_id: The ring identifier, guaranteed to be unique for every ring.

  • x, y, z, m: Coordinaate values (both absence and nan are recorded as NA)

Examples

text <- c("LINESTRING (0 1, 19 27)", "LINESTRING (-1 -1, 4 10)") wkt_coords(text)
#> feature_id part_id ring_id x y z m #> 1 1 1 0 0 1 NA NA #> 2 1 1 0 19 27 NA NA #> 3 2 2 0 -1 -1 NA NA #> 4 2 2 0 4 10 NA NA
wkt_coords(text, sep_na = TRUE)
#> feature_id part_id ring_id x y z m #> 1 1 1 0 0 1 NA NA #> 2 1 1 0 19 27 NA NA #> 3 NA NA NA NA NA NA NA #> 4 2 2 0 -1 -1 NA NA #> 5 2 2 0 4 10 NA NA