cnt_path_guess function

Guess polygon's centerline

Guess polygon's centerline

This function, as follows from the title, tries to guess the polygon centerline by connecting the most distant points from each other. First, it finds the point most distant from the polygon's centroid, then it searches for a second point, which is most distant from the first. The line connecting these two points will be the desired centerline.

cnt_path_guess(input, skeleton = NULL, return_geos = FALSE, ...)

Arguments

  • input: sf, sfc or SpatVector polygons object

  • skeleton: NULL (default) or cnt_skeleton() output. If NULL then polygon's skeleton would be estimated in the background using specified parameters (see inherit params below).

  • return_geos: FALSE (default). A logical flag that controls whether the geos_geometry should be returned.

  • ...: Arguments passed on to cnt_skeleton

    • keep: numeric, proportion of points to retain (0.05-5.0; default 0.5). See Details.
    • method: character, either "voronoi" (default) or "straight", or just the first letter "v" or "s". See Details.

Returns

An sf, sfc or SpatVector class object of a LINESTRING geometry

Examples

library(sf) library(geos) lake <- sf::st_read( system.file("extdata/example.gpkg", package = "centerline"), layer = "lake", quiet = TRUE ) |> geos::as_geos_geometry() # Find lake's centerline lake_centerline <- cnt_path_guess(input = lake, keep = 1) # Plot plot(lake) plot(lake_centerline, col = "firebrick", lwd = 2, add = TRUE)