pk_boundary_box.R 986 B

1234567891011121314151617181920212223242526272829303132
  1. #' Piirkonna piirikast BB
  2. #'
  3. #' Funktsioon leiab etteantud piirkonnale piirikasti (boundary box). Tulemuseks on 'qgis_vector'.
  4. #' @param x object of class 'sf', 'sfc' or 'sfg'.
  5. #' @param type num select value: 1-3. 0: Envelope (Bounding Box), 1: Minimum Oriented Rectangle, 2: Minimum Enclosing Circle, 3: Convex Hull.
  6. #' @return The object with class 'qgis_object'.
  7. #' @seealso [qgisprocess::qgis_run_algorithm()], [qgisprocess::qgis_output()], [ruut::get_config()]
  8. #' @keywords piirkond, boundarybox
  9. #' @export
  10. #' @examples
  11. #' \dontrun{
  12. #'
  13. #' class(pk)
  14. #' # > [1] "sf" ...
  15. #'
  16. #' pk_bbox(x = pk, type = 1)
  17. #'
  18. #' }
  19. pk_bbox <- function(x = NULL, type = 0) {
  20. if (!is.null(x) && sf::st_is_valid(x) && type %in% (seq(0:3) - 1)) {
  21. result <- qgisprocess::qgis_run_algorithm(
  22. algorithm = "qgis:minimumboundinggeometry",
  23. INPUT = x,
  24. TYPE = type,
  25. .quiet = TRUE
  26. )
  27. # sf::read_sf(qgisprocess::qgis_output(result, "OUTPUT"))
  28. result
  29. } else {
  30. NULL
  31. }
  32. }