diff --git a/DESCRIPTION b/DESCRIPTION index 486e350..c66c0d0 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: fistools Title: Tools & data used for wildlife management & invasive species in Flanders -Version: 1.2.14 +Version: 1.2.15 Authors@R: c( person(given = "Sander", middle = "", family = "Devisscher", "sander.devisscher@inbo.be", role = c("aut", "cre"), comment = c(ORCID = "0000-0003-2015-5731")), diff --git a/NAMESPACE b/NAMESPACE index 694c860..419909e 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -2,6 +2,7 @@ export(CRS_extracter) export(UUID_List) +export(aggregate_lineparts_sf) export(apply_grtsdb) export(calculate_polygon_centroid) export(check) diff --git a/R/aggregate_lineparts_sf.r b/R/aggregate_lineparts_sf.r new file mode 100644 index 0000000..7ff16a2 --- /dev/null +++ b/R/aggregate_lineparts_sf.r @@ -0,0 +1,188 @@ +#' Connect seperate line parts into 1 line +#' +#' This function takes a sf object with separate line parts and connects them into 1 line. +#' The function is based on the st_union function from the sf package. +#' The function is designed to work with sf objects that have a column with unique +#' identifiers for the separate line parts. +#' The function will connect the line parts based on the unique identifier. +#' +#' @param sf_data A sf object with separate line parts +#' @param sf_id A character string with the name of the column with unique identifiers +#' +#' @return A sf object with connected line parts +#' +#' @family spatial +#' @export +#' @author Sander Devisscher +#' +#' @examples +#' \dontrun{ +#' # create a sf object containing 2 seperate linstrings with wgs84 coordinates that lay within belgium +#' # add a column with the same id for both linestrings & a unique label for each line +#' sf_data <- sf::st_sfc(sf::st_linestring(matrix(c(5.5, 5.0, 50.0, 50.6), ncol = 2)), +#' sf::st_linestring(matrix(c(4.7, 4.8, 50.8, 50.8), ncol = 2))) %>% +#' sf::st_sf(id = c("a", "a")) %>% +#' dplyr::mutate(label = as.factor(dplyr::row_number())) +#' +#' # plot sf_data using leaflet +#' # create a palette for label +#' pal <- leaflet::colorFactor(palette = "RdBu", levels = sf_data$label) +#' +#' plot <- leaflet::leaflet() %>% +#' leaflet::addTiles() %>% +#' leaflet::addPolylines(data = sf_data, color = ~pal(label), weight = 5, opacity = 1) +#' +#' # connect the line parts +#' sf_data_connected <- aggregate_lineparts_sf(sf_data, "id") +#' +#' # add sf_data_connected to plot +#' plot <- plot %>% +#' leaflet::addPolylines(data = sf_data_connected, color = "black", weight = 2, opacity = 0.5) +#' +#' plot +#' } + +aggregate_lineparts_sf <- function(sf_data, + sf_id){ + + # check if sf_data is a sf object + if(!inherits(sf_data, "sf")){ + stop("sf_data is not a sf object") + } + + # check if sf_id is a character string + if(!is.character(sf_id)){ + warning("sf_id is not a character string >> converting to character string") + sf_id <- as.character(sf_id) + } + + # check if sf_id is a column in sf_data + if(!(sf_id %in% names(sf_data))){ + stop("sf_id is not a column in sf_data") + } else { + # check if sf_id == "sf_id" + if(sf_id == "sf_id"){ + } else { + sf_data <- sf_data %>% + dplyr::mutate(sf_id = as.character(sf_data[[sf_id]])) + } + } + + # check if geometry is present + if(!"geometry" %in% names(sf_data)){ + sf_data <- sf_data %>% + dplyr::mutate(geometry = sf::st_geometry(.)) + } + + # get unique sf_ids + sf_ids <- unique(sf_data$sf_id) + + output <- data.frame() + + for(i in sf_ids){ + # get line parts with the same sf_id + sf_unit <- sf_data %>% + dplyr::filter(sf_id == i) %>% + sf::st_union(by_feature = FALSE) %>% + sf::st_cast("LINESTRING") + + # create empty data frame to store points + temp <- data.frame() %>% + dplyr::mutate(lon = NA_integer_, + lat = NA_integer_) + + # loop over line parts to convert them to points + for(n in 1:length(sf_unit)){ + temp <- temp %>% + dplyr::add_row(lon = sf_unit[[n]][,1], + lat = sf_unit[[n]][,2]) %>% + dplyr::distinct(lon, lat) %>% + dplyr::arrange(lat, lon) + + sf_point <- temp %>% + sf::st_as_sf(coords = c("lon", "lat")) + + # order points + sf_point_ordered <- data.frame() + + a <- 1 + + # start progress bar + pb <- progress::progress_bar$new(format = " [:bar] :percent ETA: :eta", + total = nrow(sf_point), + clear = FALSE, + width = 60) + + while(a <= nrow(sf_point)){ + # tick progress bar + pb$tick() + + if(a == 1){ + # get first point + sf_point_ref <- sf_point[a,] + # select the other points of the linepart + outside <- sapply(sf::st_intersects(sf_point, sf_point_ref),function(x){length(x)==0}) + sf_point_comp <- sf_point[outside, ] + + # calculate distance between points + sf_point_comp$distance <- sf::st_distance(sf_point_comp, sf_point_ref) + + # get the point with the smallest distance + sf_point_new_ref <- as.data.frame(sf_point_comp) %>% + sf::st_as_sf() %>% + dplyr::mutate(min = min(distance, na.rm = TRUE)) %>% + dplyr::filter(distance == min) %>% + dplyr::select(geometry) + + # add the new point to the ordered points + sf_point_ordered <- rbind(sf_point_ref, sf_point_new_ref) + + a <- a + 1 + + }else{ + # get the other points of the linepart + sf_point_ref <- sf_point_new_ref + # select the other points of the linepart + outside <- sapply(sf::st_intersects(sf_point, sf_point_ordered),function(x){length(x)==0}) + # calculate distance between points + sf_point_comp <- sf_point[outside, ] + # calculate distance between points + sf_point_comp$distance <- sf::st_distance(sf_point_comp, sf_point_ref) + # get the point with the smallest distance + sf_point_new_ref <- as.data.frame(sf_point_comp) %>% + sf::st_as_sf() %>% + dplyr::mutate(min = min(distance, na.rm = TRUE)) %>% + dplyr::filter(distance == min) %>% + dplyr::select(geometry) + # add the new point to the ordered points + sf_point_ordered <- rbind(sf_point_ordered, sf_point_new_ref) + + a <- a + 1 + } + } + + # convert ordered points to linestring + test_sf <- sf_point_ordered %>% + sf::st_coordinates() %>% + sf::st_linestring() %>% + sf::st_geometry() + } + + # add sf_id to the linestring + test_sf2 <- as.data.frame(test_sf) %>% + dplyr::mutate(sf_id = i) + + # add linestring to output + if(nrow(output) == 0){ + output <- test_sf2 + }else{ + output <- rbind(output, test_sf2) + } + } + + # convert output to sf object + output <- output %>% + sf::st_as_sf() + + return(output) +} diff --git a/docs/404.html b/docs/404.html index 8c80bbf..aada38c 100644 --- a/docs/404.html +++ b/docs/404.html @@ -32,7 +32,7 @@ fistools - 1.2.13 + 1.2.15 diff --git a/docs/CODE_OF_CONDUCT.html b/docs/CODE_OF_CONDUCT.html index fd27571..bb3f24e 100644 --- a/docs/CODE_OF_CONDUCT.html +++ b/docs/CODE_OF_CONDUCT.html @@ -17,7 +17,7 @@ fistools - 1.2.13 + 1.2.15 diff --git a/docs/LICENSE-text.html b/docs/LICENSE-text.html index a1b1450..97f055f 100644 --- a/docs/LICENSE-text.html +++ b/docs/LICENSE-text.html @@ -17,7 +17,7 @@ fistools - 1.2.13 + 1.2.15 diff --git a/docs/LICENSE.html b/docs/LICENSE.html index 026975f..10f925d 100644 --- a/docs/LICENSE.html +++ b/docs/LICENSE.html @@ -17,7 +17,7 @@ fistools - 1.2.13 + 1.2.15 diff --git a/docs/authors.html b/docs/authors.html index 7e26b88..db00abe 100644 --- a/docs/authors.html +++ b/docs/authors.html @@ -17,7 +17,7 @@ fistools - 1.2.13 + 1.2.15 @@ -70,13 +70,13 @@

Citation

Devisscher S, Pallemaerts L, Delva S, Cartuyvels E, Bollen M (2024). fistools: Tools & data used for wildlife management & invasive species in Flanders. -R package version 1.2.13. +R package version 1.2.15.

@Manual{,
   title = {fistools: Tools & data used for wildlife management & invasive species in Flanders},
   author = {Sander Devisscher and Lynn Pallemaerts and Soria Delva and Emma Cartuyvels and Martijn Bollen},
   year = {2024},
-  note = {R package version 1.2.13},
+  note = {R package version 1.2.15},
 }
diff --git a/docs/index.html b/docs/index.html index 894be7d..8cdcbc1 100644 --- a/docs/index.html +++ b/docs/index.html @@ -33,7 +33,7 @@ fistools - 1.2.13 + 1.2.15 diff --git a/docs/pkgdown.yml b/docs/pkgdown.yml index d4b830f..a9e6d49 100644 --- a/docs/pkgdown.yml +++ b/docs/pkgdown.yml @@ -2,4 +2,4 @@ pandoc: 2.9.2.1 pkgdown: 2.1.1 pkgdown_sha: ~ articles: {} -last_built: 2024-11-13T15:22Z +last_built: 2024-12-09T15:10Z diff --git a/docs/reference/CRS_extracter.html b/docs/reference/CRS_extracter.html index c9cfc91..43070b1 100644 --- a/docs/reference/CRS_extracter.html +++ b/docs/reference/CRS_extracter.html @@ -19,7 +19,7 @@ fistools - 1.2.13 + 1.2.15 @@ -70,6 +70,7 @@

Value

See also

Other spatial: +aggregate_lineparts_sf(), apply_grtsdb(), calculate_polygon_centroid(), collect_osm_features()

diff --git a/docs/reference/UUID_List.html b/docs/reference/UUID_List.html index 4d3061c..90a0950 100644 --- a/docs/reference/UUID_List.html +++ b/docs/reference/UUID_List.html @@ -17,7 +17,7 @@ fistools - 1.2.13 + 1.2.15
diff --git a/docs/reference/aggregate_lineparts_sf.html b/docs/reference/aggregate_lineparts_sf.html new file mode 100644 index 0000000..8760975 --- /dev/null +++ b/docs/reference/aggregate_lineparts_sf.html @@ -0,0 +1,139 @@ + +Connect seperate line parts into 1 line — aggregate_lineparts_sf • fistools + + +
+
+ + + +
+
+ + +
+

This function takes a sf object with separate line parts and connects them into 1 line. +The function is based on the st_union function from the sf package. +The function is designed to work with sf objects that have a column with unique +identifiers for the separate line parts. +The function will connect the line parts based on the unique identifier.

+
+ +
+
aggregate_lineparts_sf(sf_data, sf_id)
+
+ +
+

Arguments

+ + +
sf_data
+

A sf object with separate line parts

+ + +
sf_id
+

A character string with the name of the column with unique identifiers

+ +
+
+

Value

+

A sf object with connected line parts

+
+
+

See also

+ +
+
+

Author

+

Sander Devisscher

+
+ +
+

Examples

+
if (FALSE) { # \dontrun{
+# create a sf object containing 2 seperate linstrings with wgs84 coordinates that lay within belgium
+# add a column with the same id for both linestrings & a unique label for each line
+sf_data <- sf::st_sfc(sf::st_linestring(matrix(c(5.5, 5.0, 50.0, 50.6), ncol = 2)),
+                     sf::st_linestring(matrix(c(4.7, 4.8, 50.8, 50.8), ncol = 2))) %>%
+ sf::st_sf(id = c("a", "a")) %>%
+ dplyr::mutate(label = as.factor(dplyr::row_number()))
+
+# plot sf_data using leaflet
+# create a palette for label
+pal <- leaflet::colorFactor(palette = "RdBu", levels = sf_data$label)
+
+plot <- leaflet::leaflet() %>%
+  leaflet::addTiles() %>%
+  leaflet::addPolylines(data = sf_data, color = ~pal(label), weight = 5, opacity = 1)
+
+# connect the line parts
+sf_data_connected <- aggregate_lineparts_sf(sf_data, "id")
+
+# add sf_data_connected to plot
+plot <- plot %>%
+  leaflet::addPolylines(data = sf_data_connected, color = "black", weight = 2, opacity = 0.5)
+
+plot
+} # }
+
+
+
+ +
+ + +
+ + + + + + + + diff --git a/docs/reference/apply_grtsdb.html b/docs/reference/apply_grtsdb.html index 533a626..a65970a 100644 --- a/docs/reference/apply_grtsdb.html +++ b/docs/reference/apply_grtsdb.html @@ -18,7 +18,7 @@ fistools - 1.2.13 + 1.2.15 @@ -82,6 +82,7 @@

Details

See also

Other spatial: CRS_extracter(), +aggregate_lineparts_sf(), calculate_polygon_centroid(), collect_osm_features()

diff --git a/docs/reference/boswachterijen.html b/docs/reference/boswachterijen.html index eb01a85..79b1d55 100644 --- a/docs/reference/boswachterijen.html +++ b/docs/reference/boswachterijen.html @@ -18,7 +18,7 @@ fistools - 1.2.13 + 1.2.15 diff --git a/docs/reference/calculate_polygon_centroid.html b/docs/reference/calculate_polygon_centroid.html index 3148238..69d51b1 100644 --- a/docs/reference/calculate_polygon_centroid.html +++ b/docs/reference/calculate_polygon_centroid.html @@ -17,7 +17,7 @@ fistools - 1.2.13 + 1.2.15 @@ -76,6 +76,7 @@

Details

See also

Other spatial: CRS_extracter(), +aggregate_lineparts_sf(), apply_grtsdb(), collect_osm_features()

diff --git a/docs/reference/check.html b/docs/reference/check.html index 1a8cea0..c74c17e 100644 --- a/docs/reference/check.html +++ b/docs/reference/check.html @@ -17,7 +17,7 @@ fistools - 1.2.13 + 1.2.15 diff --git a/docs/reference/cleanup_sqlite.html b/docs/reference/cleanup_sqlite.html index 9c0e208..daf8f95 100644 --- a/docs/reference/cleanup_sqlite.html +++ b/docs/reference/cleanup_sqlite.html @@ -17,7 +17,7 @@ fistools - 1.2.13 + 1.2.15 diff --git a/docs/reference/col_content_compare.html b/docs/reference/col_content_compare.html index 55f56d3..3e89b1a 100644 --- a/docs/reference/col_content_compare.html +++ b/docs/reference/col_content_compare.html @@ -19,7 +19,7 @@ fistools - 1.2.13 + 1.2.15 diff --git a/docs/reference/colcompare.html b/docs/reference/colcompare.html index 2015d3c..7305313 100644 --- a/docs/reference/colcompare.html +++ b/docs/reference/colcompare.html @@ -17,7 +17,7 @@ fistools - 1.2.13 + 1.2.15 diff --git a/docs/reference/collect_osm_features.html b/docs/reference/collect_osm_features.html index 631b464..bb52dfc 100644 --- a/docs/reference/collect_osm_features.html +++ b/docs/reference/collect_osm_features.html @@ -23,7 +23,7 @@ fistools - 1.2.13 + 1.2.15 @@ -104,6 +104,7 @@

Details

See also

Other spatial: CRS_extracter(), +aggregate_lineparts_sf(), apply_grtsdb(), calculate_polygon_centroid()

diff --git a/docs/reference/download_dep_media.html b/docs/reference/download_dep_media.html index 4980453..9d61291 100644 --- a/docs/reference/download_dep_media.html +++ b/docs/reference/download_dep_media.html @@ -18,7 +18,7 @@ fistools - 1.2.13 + 1.2.15 diff --git a/docs/reference/download_gdrive_if_missing.html b/docs/reference/download_gdrive_if_missing.html index 4709ab0..ad59fca 100644 --- a/docs/reference/download_gdrive_if_missing.html +++ b/docs/reference/download_gdrive_if_missing.html @@ -19,7 +19,7 @@ fistools - 1.2.13 + 1.2.15 diff --git a/docs/reference/download_seq_media.html b/docs/reference/download_seq_media.html index 14037d3..2fca97b 100644 --- a/docs/reference/download_seq_media.html +++ b/docs/reference/download_seq_media.html @@ -18,7 +18,7 @@ fistools - 1.2.13 + 1.2.15 diff --git a/docs/reference/drg_example.html b/docs/reference/drg_example.html index 64114a4..72777cf 100644 --- a/docs/reference/drg_example.html +++ b/docs/reference/drg_example.html @@ -17,7 +17,7 @@ fistools - 1.2.13 + 1.2.15 diff --git a/docs/reference/index.html b/docs/reference/index.html index 32a3852..42f872a 100644 --- a/docs/reference/index.html +++ b/docs/reference/index.html @@ -17,7 +17,7 @@ fistools - 1.2.13 + 1.2.15 @@ -45,6 +45,10 @@

Spatial functions CRS_extracter()

CRS_extracter

+ +

aggregate_lineparts_sf()

+ +

Connect seperate line parts into 1 line

apply_grtsdb()

diff --git a/docs/reference/install_sp.html b/docs/reference/install_sp.html index 6a90178..ed6fec3 100644 --- a/docs/reference/install_sp.html +++ b/docs/reference/install_sp.html @@ -17,7 +17,7 @@ fistools - 1.2.13 + 1.2.15 diff --git a/docs/reference/label_converter.html b/docs/reference/label_converter.html index 80d6e06..2af7073 100644 --- a/docs/reference/label_converter.html +++ b/docs/reference/label_converter.html @@ -17,7 +17,7 @@ fistools - 1.2.13 + 1.2.15 diff --git a/docs/reference/label_selecter.html b/docs/reference/label_selecter.html index c7ca4be..b29a68f 100644 --- a/docs/reference/label_selecter.html +++ b/docs/reference/label_selecter.html @@ -17,7 +17,7 @@ fistools - 1.2.13 + 1.2.15 diff --git a/docs/reference/lib_crs.html b/docs/reference/lib_crs.html index 2072e4f..909f4b1 100644 --- a/docs/reference/lib_crs.html +++ b/docs/reference/lib_crs.html @@ -17,7 +17,7 @@ fistools - 1.2.13 + 1.2.15 diff --git a/docs/reference/qd_pci1.html b/docs/reference/qd_pci1.html index cc50712..ea311e3 100644 --- a/docs/reference/qd_pci1.html +++ b/docs/reference/qd_pci1.html @@ -17,7 +17,7 @@ fistools - 1.2.13 + 1.2.15 diff --git a/docs/reference/qd_pci2.html b/docs/reference/qd_pci2.html index 8fc6092..d6abbe9 100644 --- a/docs/reference/qd_pci2.html +++ b/docs/reference/qd_pci2.html @@ -17,7 +17,7 @@ fistools - 1.2.13 + 1.2.15 diff --git a/docs/reference/qd_pci2_D.html b/docs/reference/qd_pci2_D.html index 29f42dd..00de7db 100644 --- a/docs/reference/qd_pci2_D.html +++ b/docs/reference/qd_pci2_D.html @@ -17,7 +17,7 @@ fistools - 1.2.13 + 1.2.15 diff --git a/docs/reference/rename_ct_files.html b/docs/reference/rename_ct_files.html index fe1c323..a21037b 100644 --- a/docs/reference/rename_ct_files.html +++ b/docs/reference/rename_ct_files.html @@ -21,7 +21,7 @@ fistools - 1.2.13 + 1.2.15 diff --git a/docs/reference/sunsetter.html b/docs/reference/sunsetter.html index 86d99b8..4b082ad 100644 --- a/docs/reference/sunsetter.html +++ b/docs/reference/sunsetter.html @@ -18,7 +18,7 @@ fistools - 1.2.13 + 1.2.15 diff --git a/docs/reference/sunsetter2.html b/docs/reference/sunsetter2.html index 3e9fb82..091ebfe 100644 --- a/docs/reference/sunsetter2.html +++ b/docs/reference/sunsetter2.html @@ -17,7 +17,7 @@ fistools - 1.2.13 + 1.2.15 diff --git a/docs/sitemap.xml b/docs/sitemap.xml index 33ebf73..4b2917c 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -7,6 +7,7 @@ /index.html /reference/CRS_extracter.html /reference/UUID_List.html +/reference/aggregate_lineparts_sf.html /reference/apply_grtsdb.html /reference/boswachterijen.html /reference/calculate_polygon_centroid.html diff --git a/man/CRS_extracter.Rd b/man/CRS_extracter.Rd index e745f2d..b0ba4c3 100644 --- a/man/CRS_extracter.Rd +++ b/man/CRS_extracter.Rd @@ -48,6 +48,7 @@ leaflet() \%>\% } \seealso{ Other spatial: +\code{\link{aggregate_lineparts_sf}()}, \code{\link{apply_grtsdb}()}, \code{\link{calculate_polygon_centroid}()}, \code{\link{collect_osm_features}()} diff --git a/man/aggregate_lineparts_sf.Rd b/man/aggregate_lineparts_sf.Rd new file mode 100644 index 0000000..1a7996e --- /dev/null +++ b/man/aggregate_lineparts_sf.Rd @@ -0,0 +1,61 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/aggregate_lineparts_sf.r +\name{aggregate_lineparts_sf} +\alias{aggregate_lineparts_sf} +\title{Connect seperate line parts into 1 line} +\usage{ +aggregate_lineparts_sf(sf_data, sf_id) +} +\arguments{ +\item{sf_data}{A sf object with separate line parts} + +\item{sf_id}{A character string with the name of the column with unique identifiers} +} +\value{ +A sf object with connected line parts +} +\description{ +This function takes a sf object with separate line parts and connects them into 1 line. +The function is based on the st_union function from the sf package. +The function is designed to work with sf objects that have a column with unique +identifiers for the separate line parts. +The function will connect the line parts based on the unique identifier. +} +\examples{ +\dontrun{ +# create a sf object containing 2 seperate linstrings with wgs84 coordinates that lay within belgium +# add a column with the same id for both linestrings & a unique label for each line +sf_data <- sf::st_sfc(sf::st_linestring(matrix(c(5.5, 5.0, 50.0, 50.6), ncol = 2)), + sf::st_linestring(matrix(c(4.7, 4.8, 50.8, 50.8), ncol = 2))) \%>\% + sf::st_sf(id = c("a", "a")) \%>\% + dplyr::mutate(label = as.factor(dplyr::row_number())) + +# plot sf_data using leaflet +# create a palette for label +pal <- leaflet::colorFactor(palette = "RdBu", levels = sf_data$label) + +plot <- leaflet::leaflet() \%>\% + leaflet::addTiles() \%>\% + leaflet::addPolylines(data = sf_data, color = ~pal(label), weight = 5, opacity = 1) + +# connect the line parts +sf_data_connected <- aggregate_lineparts_sf(sf_data, "id") + +# add sf_data_connected to plot +plot <- plot \%>\% + leaflet::addPolylines(data = sf_data_connected, color = "black", weight = 2, opacity = 0.5) + +plot +} +} +\seealso{ +Other spatial: +\code{\link{CRS_extracter}()}, +\code{\link{apply_grtsdb}()}, +\code{\link{calculate_polygon_centroid}()}, +\code{\link{collect_osm_features}()} +} +\author{ +Sander Devisscher +} +\concept{spatial} diff --git a/man/apply_grtsdb.Rd b/man/apply_grtsdb.Rd index f33f83a..f82a62e 100644 --- a/man/apply_grtsdb.Rd +++ b/man/apply_grtsdb.Rd @@ -69,6 +69,7 @@ sample <- apply_grtsdb(perimeter, \seealso{ Other spatial: \code{\link{CRS_extracter}()}, +\code{\link{aggregate_lineparts_sf}()}, \code{\link{calculate_polygon_centroid}()}, \code{\link{collect_osm_features}()} } diff --git a/man/calculate_polygon_centroid.Rd b/man/calculate_polygon_centroid.Rd index c31c422..41a04ae 100644 --- a/man/calculate_polygon_centroid.Rd +++ b/man/calculate_polygon_centroid.Rd @@ -62,6 +62,7 @@ leaflet() \%>\% \seealso{ Other spatial: \code{\link{CRS_extracter}()}, +\code{\link{aggregate_lineparts_sf}()}, \code{\link{apply_grtsdb}()}, \code{\link{collect_osm_features}()} } diff --git a/man/collect_osm_features.Rd b/man/collect_osm_features.Rd index 67d1487..6ce07a4 100644 --- a/man/collect_osm_features.Rd +++ b/man/collect_osm_features.Rd @@ -102,6 +102,7 @@ p1 + geom_sf(data = osm$osm_lines, aes(col = line_element)) + \seealso{ Other spatial: \code{\link{CRS_extracter}()}, +\code{\link{aggregate_lineparts_sf}()}, \code{\link{apply_grtsdb}()}, \code{\link{calculate_polygon_centroid}()} }