construct_qgis_output_result_to_beter_format.R 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #' QGIS-i funktsiooni väljundist uue sisendiks vajaliku fraasi konstrueerimine
  2. #'
  3. #' See funktsioon konstrueerib 'QGIS' funktsiooni väljundi logisse tekkiva input parameetrid kujule, mida oleks võimalik kasutada funktsiooni \code{\link[qgisprocess]{qgis_run_algorithm}} argumentidena.
  4. #'
  5. #' Näidis:
  6. #' Processing algorithm…
  7. #' Algorithm 'Export to PostgreSQL' starting…
  8. #' Input parameters:
  9. #' { 'CREATEINDEX' : True, 'DATABASE' : 'Data', 'DROP_STRING_LENGTH' : False, 'ENCODING' : 'UTF-8', 'FORCE_SINGLEPART' : False, 'GEOMETRY_COLUMN' : 'geometry', 'INPUT' : '/data/gpkg/teed/teed_l.gpkg|layername=teed_l', 'LOWERCASE_NAMES' : True, 'OVERWRITE' : True, 'PRIMARY_KEY' : 'fid', 'SCHEMA' : 'data', 'TABLENAME' : 'mikihiir' }
  10. #' @param str string A QGIS input parameters.
  11. #' @return A string.
  12. #' @seealso [qgisprocess::qgis_run_algorithm], [ruut::construct_ogr2ogr_PG_connect_str]
  13. #' @keywords QGIS
  14. #' @export
  15. #' @examples
  16. #'
  17. #' \dontrun{
  18. #'
  19. #' # QGIS funktsiooni käivitamisel saatakse logisse argumentidest järgmine väljund
  20. #' str <- "{ 'CREATEINDEX' : True, 'DATABASE' : 'Data', 'DROP_STRING_LENGTH' : False,
  21. #' 'ENCODING' : 'UTF-8', 'FORCE_SINGLEPART' : False, 'GEOMETRY_COLUMN' : 'geometry',
  22. #' 'INPUT' : '/data/gpkg/teed/teed_l.gpkg|layername=teed_l', 'LOWERCASE_NAMES' : True,
  23. #' 'OVERWRITE' : True, 'PRIMARY_KEY' : 'fid', 'SCHEMA' : 'data', 'TABLENAME' : 'mikihiir' }"
  24. #'
  25. #' construct_qgis_output_result_to_beter_format(str = str)
  26. #' }
  27. construct_qgis_output_result_to_beter_format <- function(str = "") {
  28. str <- gsub("'", "", str)
  29. str <- gsub(":", "=", str)
  30. str <- gsub(" ", "", str)
  31. str <- gsub(",", "',", str)
  32. str <- gsub("=", "='", str)
  33. str <- gsub("'True'", "1", str)
  34. str <- gsub("'False'", "0", str)
  35. str <- gsub(",", ",\n", str)
  36. str <- gsub("[{]", "\nalgorithm=algorithm,\n", str)
  37. str <- gsub("[}]", "'\n", str)
  38. str <- gsub("layername='", "layername=", str)
  39. cat(str)
  40. str
  41. }