#' 5x5 km kaardiruudukeste genereerimine #' #' Eesti projektsioonile vastava ning kogu Eestit katva ruutvõrgustiku genereerimine ja salvestamine andmebaasi. Ruutvõrgustiku ruudu suurus 5x5 km. Võrgustik salvestatakse vaikimisi andmebaasi nime 'maaamet.epk10t_grid' alla.Loe: \url{https://geoportaal.maaamet.ee/est/Ruumiandmed/Kaardilehtede-susteemid-p224.html}. Koniguratsiooni muutmiseks muuda konfiguratsiooni. Muutujate vaikeväärtused on sellised, et ei ole vaja midagi muuta. #' @param conf A list() of configuration variables. Default values \code{\link[ruut]{get_config}}. #' @return No output. #' @seealso [ruut::get_config()], [ruut::copy_shp_to_db()] #' @keywords postgis, maps, ESRI Shpfile, OSM #' @export #' @examples #' \dontrun{ #' #' conf <- ruut::get_config() #' epk10t_grids(conf = conf) #' } #' epk10t_grids <- function(conf = NULL) { ans <- utils::askYesNo("Do you want to import maps into database?", default = F) if (!ans | is.na(ans)) { cat("\n------------------------\n") cat("Kaardikihte ei lisatud.") cat("\n------------------------\n") return() } if (ans) { # Temp directory tmp_dir <- sprintf("%s/tmp/%s", system.file(package = "estmap"), "maaamet_epk_grids") if (!dir.exists(tmp_dir)) { dir.create(tmp_dir) } tmp_file <- sprintf("%s/epk10t_grid.gpkg", tmp_dir) if (!file.exists(tmp_file)) { # ruut::qgis_algorithm_search_by_word(str = "v.mkgrid") algorithm <- "grass7:v.mkgrid" # cat(qgisprocess::qgis_show_help(algorithm = algorithm)) result <- qgisprocess::qgis_run_algorithm( algorithm = algorithm, "-h" = 0, "-p" = 0, GRASS_OUTPUT_TYPE_PARAMETER = 0, GRASS_REGION_PARAMETER = "", GRASS_VECTOR_DSCO = "", GRASS_VECTOR_EXPORT_NOCAT = 0, GRASS_VECTOR_LCO = "", angle = 0, box = "5000,5000", breaks = 0, coordinates = "300000,6300000 [EPSG:3301]", grid = "80,100", map = tmp_file, position = 0, # .quiet = TRUE ) # result # epk10t_grid <- sf::read_sf(qgisprocess::qgis_output(result, "map")) # sf::st_geometry(epk10t_grid) %>% plot() } conf <- ruut::get_config() conf$table <- "epk10t_grid" conf$schema <- "maaamet" ruut::copy_qgis_object_to_db( x = result, conf = conf, geometry_type = "POLYGON", crs_source = "EPSG:3301" ) cat(sprintf( "\nFail fail %s kopeeriti POSTGIS andmebaasi %s.%s\n\n", tmp_file, conf$schema, conf$table )) } }