pk_boundary_box.R 1016 B

12345678910111213141516171819202122232425262728293031
  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. #' ## Not run:
  12. #' ## class(pk)
  13. #' ## > [1] "sf" ...
  14. #' ##
  15. #' ## pk_bbox(x = pk, type = 1)
  16. #' ##
  17. #' ## End(**Not run**)
  18. pk_bbox <- function(x = NULL, type = 0) {
  19. if (!is.null(x) && sf::st_is_valid(x) && type %in% (seq(0:3) - 1)) {
  20. result <- qgisprocess::qgis_run_algorithm(
  21. algorithm = "qgis:minimumboundinggeometry",
  22. INPUT = x,
  23. TYPE = type,
  24. .quiet = TRUE
  25. )
  26. # sf::read_sf(qgisprocess::qgis_output(result, "OUTPUT"))
  27. result
  28. } else {
  29. NULL
  30. }
  31. }