| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #' 100x100 km kaardiruudukeste genereerimine
- #'
- #' Eesti projektsioonile vastava ning kogu Eestit katva ruutvõrgustiku genereerimine ja salvestamine andmebaasi. Ruutvõrgustiku ruudu suurus 100x100 km. Võrgustik salvestatakse vaikimisi andmebaasi nime 'maaamet.epk200t_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()
- #' epk200t_grids(conf = conf)
- #' }
- #'
- epk200t_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/epk200t_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 = "100000,100000",
- breaks = 0,
- coordinates = "300000,6300000 [EPSG:3301]",
- grid = "4,5",
- map = tmp_file,
- position = 0,
- # .quiet = TRUE
- )
- # result
- # epk200t_grid <- sf::read_sf(qgisprocess::qgis_output(result, "map"))
- # sf::st_geometry(epk200t_grid) %>% plot()
- }
- conf <- ruut::get_config()
- conf$table <- "epk200t_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
- ))
- }
- }
|