Przeglądaj źródła

Töötav 'construct_to_gpkg_output_file_str'.

Ardo Kubjas 5 lat temu
rodzic
commit
51c5473ca7

+ 37 - 11
R/construct_to_gpkg_output_file_str.R

@@ -1,21 +1,47 @@
-#' 'qgisprocess' funktsiooonides GPKG INPUT/OUTPUT konstrueerimine
+#' 'qgisprocess' funktsiooonides GPKG INPUT/OUTPUT konstrueerimine GPKG kujule salvestamiseks
 #'
-#' See funktsioon konstrueerib 'qgisprocess' funktsioonides enamasti INPUT/OUTPUT/OVERLAY parameetri argumentide  kasutatava fraasi, mis on vajalik andmebaasiga ühendamisegs.
+#' See funktsioon konstrueerib 'qgisprocess' funktsioonides enamasti INPUT/OUTPUT/OVERLAY parameetri argumentide  kasutatava fraasi, mis on vajalik postgresql andmebaasiga ühendamiseks.
 #' @param conf A list() of configuration variables. Default values \code{\link[ruut]{get_config}}.
-#' @return A string "ogr:dbname='%s/%s.gpkg' table=\"%s\" (geom)".
-#' @seealso [ruut::construct_ogr2ogr_PG_connect_str()], [ruut::construct_qgis_output_result_to_beter_format()]
-#' @keywords gpkg
+#' @param geometry_field str A geometri field name. Default: "geom".
+#' @param is_input_str TRUE/FALSE kui tulemusena väljastatakse import, siis TRUE.
+#' @seealso [ruut::db_connect()], [ruut::get_config()], [ruut::construct_ogr2ogr_PG_connect_str()], [ruut::construct_qgis_output_result_to_beter_format()],[ruut::construct_to_gpkg_output_file_str()]
+#' @return A string OUTPUT: "ogr:dbname='/data/gpkg/artiklid/artikkel_210127_valga_matsalu_lahemaa/test.gpkg' table=\"uus_epk200t_bb\"", INPUT: "/data/gpkg/artiklid/artikkel_210127_valga_matsalu_lahemaa/test.gpkg|layername=uus_epk200t_bb".
+#' @keywords qgis_process
 #' @export
 #' @examples
-#'
 #' \dontrun{
 #'
 #' conf <- ruut::get_config()
-#' construct_to_gpkg_output_file_str(conf = conf)
+#' conf$gpkg_home <- "/data/gpkg/artiklid/artikkel_210127_valga_matsalu_lahemaa"
+#' conf$gpkg_file <- "matsalu"
+#' conf$gpkg_table <- "piir"
+#' input <- ruut::construct_to_gpkg_output_postgres_str(
+#'   conf = conf, is_input_str = TRUE
+#' )
+#' conf$gpkg_home <- "/data/gpkg/artiklid/artikkel_210127_valga_matsalu_lahemaa"
+#' conf$gpkg_file <- "mooduli_ruut_test"
+#' conf$gpkg_table <- "layerOne"
+#' output <- ruut::construct_to_gpkg_output_file_str(
+#'   conf = conf, geometry_field = "geom", is_input_str = FALSE
+#' )
+#'
+#' str <- paste0("{ 'DISSOLVE' : False, 'DISTANCE' : 100, 'END_CAP_STYLE' : 2,
+#' 'INPUT' : '", input, "', 'JOIN_STYLE' : 1, 'MITER_LIMIT' : 2,
+#' 'OUTPUT' : '", output, "', 'SEGMENTS' : 5 }")
+#' algorithm <- "native:buffer"
+#' cmd <- ruut::construct_qgis_output_result_to_beter_format(str = str, algorithm = algorithm)
+#' system(cmd)
 #' }
-construct_to_gpkg_output_file_str <- function(conf = conf) {
+construct_to_gpkg_output_file_str <- function(conf = NULL, geometry_field = "geom", is_input_str = TRUE) {
+  if (is.null(conf)) conf <- ruut::get_config()
   dsn <- sprintf("%s/%s.gpkg", conf$gpkg_home, conf$gpkg_file)
-  ogr <- sprintf("ogr:dbname='%s'", dsn)
-  output <- sprintf('%s table=\"%s\" (geom)', ogr, conf$gpkg_table)
-  output
+  if (is_input_str) {
+    input <- sprintf("%s|layername=%s", dsn, conf$gpkg_table)
+    input
+  }
+  else {
+    ogr <- sprintf("ogr:dbname='%s'", dsn)
+    output <- sprintf('%s table=\"%s\" (%s)', ogr, conf$gpkg_table, geometry_field)
+    output
+  }
 }

+ 1 - 1
R/construct_to_gpkg_output_postgres_str.R

@@ -1,6 +1,6 @@
 #' 'qgisprocess' funktsiooonides GPKG INPUT/OUTPUT konstrueerimine Postgresql salvestamiseks
 #'
-#' See funktsioon konstrueerib 'qgisprocess' funktsioonides enamasti INPUT/OUTPUT/OVERLAY parameetri argumentide  kasutatava fraasi, mis on vajalik postgresql andmebaasiga ühendamisegs.
+#' See funktsioon konstrueerib 'qgisprocess' funktsioonides enamasti INPUT/OUTPUT/OVERLAY parameetri argumentide  kasutatava fraasi, mis on vajalik postgresql andmebaasiga ühendamiseks.
 #' @param conf A list() of configuration variables. Default values \code{\link[ruut]{get_config}}.
 #' @param geometry_field str A geometri field name. Default: "geom".
 #' @param geometry_type str Select: 'Point', 'LineString', 'Polygon', 'MultiPoint', 'MultiLineString', 'MultiPolygon', 'GeometryCollection','PolygonWithHole','Collection'.

+ 33 - 8
man/construct_to_gpkg_output_file_str.Rd

@@ -2,28 +2,53 @@
 % Please edit documentation in R/construct_to_gpkg_output_file_str.R
 \name{construct_to_gpkg_output_file_str}
 \alias{construct_to_gpkg_output_file_str}
-\title{'qgisprocess' funktsiooonides GPKG INPUT/OUTPUT konstrueerimine}
+\title{'qgisprocess' funktsiooonides GPKG INPUT/OUTPUT konstrueerimine GPKG kujule salvestamiseks}
 \usage{
-construct_to_gpkg_output_file_str(conf = conf)
+construct_to_gpkg_output_file_str(
+  conf = NULL,
+  geometry_field = "geom",
+  is_input_str = TRUE
+)
 }
 \arguments{
 \item{conf}{A list() of configuration variables. Default values \code{\link[ruut]{get_config}}.}
+
+\item{geometry_field}{str A geometri field name. Default: "geom".}
+
+\item{is_input_str}{TRUE/FALSE kui tulemusena väljastatakse import, siis TRUE.}
 }
 \value{
-A string "ogr:dbname='\%s/\%s.gpkg' table=\"\%s\" (geom)".
+A string OUTPUT: "ogr:dbname='/data/gpkg/artiklid/artikkel_210127_valga_matsalu_lahemaa/test.gpkg' table=\"uus_epk200t_bb\"", INPUT: "/data/gpkg/artiklid/artikkel_210127_valga_matsalu_lahemaa/test.gpkg|layername=uus_epk200t_bb".
 }
 \description{
-See funktsioon konstrueerib 'qgisprocess' funktsioonides enamasti INPUT/OUTPUT/OVERLAY parameetri argumentide  kasutatava fraasi, mis on vajalik andmebaasiga ühendamisegs.
+See funktsioon konstrueerib 'qgisprocess' funktsioonides enamasti INPUT/OUTPUT/OVERLAY parameetri argumentide  kasutatava fraasi, mis on vajalik postgresql andmebaasiga ühendamiseks.
 }
 \examples{
-
 \dontrun{
 
 conf <- ruut::get_config()
-construct_to_gpkg_output_file_str(conf = conf)
+conf$gpkg_home <- "/data/gpkg/artiklid/artikkel_210127_valga_matsalu_lahemaa"
+conf$gpkg_file <- "matsalu"
+conf$gpkg_table <- "piir"
+input <- ruut::construct_to_gpkg_output_postgres_str(
+  conf = conf, is_input_str = TRUE
+)
+conf$gpkg_home <- "/data/gpkg/artiklid/artikkel_210127_valga_matsalu_lahemaa"
+conf$gpkg_file <- "mooduli_ruut_test"
+conf$gpkg_table <- "layerOne"
+output <- ruut::construct_to_gpkg_output_file_str(
+  conf = conf, geometry_field = "geom", is_input_str = FALSE
+)
+
+str <- paste0("{ 'DISSOLVE' : False, 'DISTANCE' : 100, 'END_CAP_STYLE' : 2,
+'INPUT' : '", input, "', 'JOIN_STYLE' : 1, 'MITER_LIMIT' : 2,
+'OUTPUT' : '", output, "', 'SEGMENTS' : 5 }")
+algorithm <- "native:buffer"
+cmd <- ruut::construct_qgis_output_result_to_beter_format(str = str, algorithm = algorithm)
+system(cmd)
 }
 }
 \seealso{
-\code{\link[=construct_ogr2ogr_PG_connect_str]{construct_ogr2ogr_PG_connect_str()}}, \code{\link[=construct_qgis_output_result_to_beter_format]{construct_qgis_output_result_to_beter_format()}}
+\code{\link[=db_connect]{db_connect()}}, \code{\link[=get_config]{get_config()}}, \code{\link[=construct_ogr2ogr_PG_connect_str]{construct_ogr2ogr_PG_connect_str()}}, \code{\link[=construct_qgis_output_result_to_beter_format]{construct_qgis_output_result_to_beter_format()}},\code{\link[=construct_to_gpkg_output_file_str]{construct_to_gpkg_output_file_str()}}
 }
-\keyword{gpkg}
+\keyword{qgis_process}

+ 1 - 1
man/construct_to_gpkg_output_postgres_str.Rd

@@ -30,7 +30,7 @@ construct_to_gpkg_output_postgres_str(
 A string "postgres://dbname='\%s' host=\%s port=\%s user='\%s' password='\%s' sslmode=\%s key='id' srid=3301  checkPrimaryKeyUnicity='1' table=\"\%s\".\"\%s\" (geom)".
 }
 \description{
-See funktsioon konstrueerib 'qgisprocess' funktsioonides enamasti INPUT/OUTPUT/OVERLAY parameetri argumentide  kasutatava fraasi, mis on vajalik postgresql andmebaasiga ühendamisegs.
+See funktsioon konstrueerib 'qgisprocess' funktsioonides enamasti INPUT/OUTPUT/OVERLAY parameetri argumentide  kasutatava fraasi, mis on vajalik postgresql andmebaasiga ühendamiseks.
 }
 \examples{
 \dontrun{