R/qgis_deleteduplicategeometries.R

Defines functions qgis_deleteduplicategeometries

Documented in qgis_deleteduplicategeometries

##' QGIS Algorithm provided by QGIS (native c++) Delete duplicate geometries (native:deleteduplicategeometries). Finds duplicated geometries in a layer and removes them. This algorithm finds duplicated geometries and removes them.  Attributes are not checked, so in case two features have identical geometries but different attributes, only one of them will be added to the result layer.
##'
##' @title QGIS algorithm - Delete duplicate geometries
##'
##' @param INPUT `source` - Input layer. Path to a vector layer.
##' @param OUTPUT `sink` - Cleaned. Path for new vector layer.
##' @param ... further parameters passed to `qgisprocess::qgis_run_algorithm()`
##' @param .complete_output logical specifying if complete out of `qgisprocess::qgis_run_algorithm()` should be used (`TRUE`) or first output (most likely the main) should read (`FALSE`). Default value is `TRUE`.
##' @param .quiet logical specifying if parameter `.quiet` for `qgisprocess::qgis_run_algorithm()` Default value is `TRUE`.
##' @param .messages logical specifying if messages from `qgisprocess::qgis_run_algorithm()` should be printed (`TRUE`) or not (`FALSE`). Default value is `FALSE`.
##'
##' @details
##' ## Outputs description
##' * DUPLICATE_COUNT - outputNumber - Count of discarded duplicate records
##' * OUTPUT - outputVector - Cleaned
##' * RETAINED_COUNT - outputNumber - Count of retained records
##'
##'
##' @export
##' @md
##' @importFrom qgisprocess qgis_run_algorithm

qgis_deleteduplicategeometries <- function(INPUT = qgisprocess:::qgis_default_value(), OUTPUT = qgisprocess:::qgis_default_value(),..., .complete_output = .complete_output_option(), .quiet = .quiet_option(), .messages = .message_option()) {

  check_algorithm_necessities("native:deleteduplicategeometries")

  if (.messages){
    output <- qgisprocess::qgis_run_algorithm("native:deleteduplicategeometries", `INPUT` = INPUT, `OUTPUT` = OUTPUT,..., .quiet = .quiet)
  } else {
    suppressMessages(
      output <- qgisprocess::qgis_run_algorithm("native:deleteduplicategeometries", `INPUT` = INPUT, `OUTPUT` = OUTPUT,..., .quiet = .quiet)
      )
  }

  if (.complete_output) {
    return(output)
  }
  else{
    qgisprocess::qgis_extract_output(output, "DUPLICATE_COUNT")
  }
}
JanCaha/r_package_qgis documentation built on Nov. 3, 2024, 5:25 p.m.