epk_grids.R 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. #' 100x100 km kaardiruudukeste genereerimine
  2. #'
  3. #' 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.
  4. #' @param output str See on salvestamise string sõltuvalt millisele kujule soovitakse ruudustikke salvestada. Vaata 'gpkg' kujule \code{\link[ruut]{construct_to_gpkg_output_file_str}} või 'postgis' andmebaasi \code{\link[ruut]{construct_to_gpkg_output_postgres_str}}.
  5. #' @return String.
  6. #' @seealso [ruut::get_config()], [ruut::construct_to_gpkg_output_file_str()], [ruut::construct_to_gpkg_output_postgres_str()]
  7. #' @keywords postgis, gpkg
  8. #' @export
  9. #' @examples
  10. #' \dontrun{
  11. #'
  12. #' # Postgresql output
  13. #' conf <- ruut::get_config()
  14. #' conf$schema <- "maaamet"
  15. #' conf$table <- "epk200t_bb"
  16. #' output <- ruut::construct_to_gpkg_output_postgres_str(conf = conf)
  17. #'
  18. #' # GPKG output
  19. #' gpkg_home <- "/data/gpkg/artiklid/artikkel_210127_valga_matsalu_lahemaa"
  20. #' gpkg_file <- "ruudud"
  21. #' gpkg_table <- "epk200t_bb"
  22. #' output <- ruut::construct_to_gpkg_output_file_str(gpkg_home = gpkg_home,
  23. #' gpkg_file = gpkg_file, gpkg_table = gpkg_table)
  24. #'
  25. #' epk_grids(output = output)
  26. #' }
  27. epk_grids <- function(output = NULL) {
  28. if (!exists("conf")) conf <- NULL
  29. conf$table <- gpkg_table <- "epk200t_bb"
  30. # ruut::qgis_algorithm_search_by_word(str = "grid")
  31. algorithm <- "native:creategrid"
  32. # cat(qgisprocess::qgis_show_help(algorithm = algorithm))
  33. result <- qgisprocess::qgis_run_algorithm(
  34. algorithm = algorithm,
  35. CRS = "EPSG:3301",
  36. EXTENT = "300000.000000000,800000.000000000,6300000.000000000,6700000.000000000 [EPSG=3301]",
  37. HOVERLAY = 0,
  38. HSPACING = 500000,
  39. OUTPUT = output,
  40. TYPE = 2,
  41. VOVERLAY = 0,
  42. VSPACING = 400000
  43. # .quiet = TRUE
  44. )
  45. conf$table <- gpkg_table <- "epk200t_grid"
  46. result <- qgisprocess::qgis_run_algorithm(
  47. algorithm = algorithm,
  48. CRS = "EPSG:3301",
  49. EXTENT = "300000.000000000,800000.000000000,6300000.000000000,6700000.000000000 [EPSG=3301]",
  50. HOVERLAY = 0,
  51. HSPACING = 100000,
  52. OUTPUT = output,
  53. TYPE = 2,
  54. VOVERLAY = 0,
  55. VSPACING = 100000
  56. # .quiet = TRUE
  57. )
  58. conf$table <- gpkg_table <- "epk2t_grid"
  59. result <- qgisprocess::qgis_run_algorithm(
  60. algorithm = algorithm,
  61. CRS = "EPSG:3301",
  62. EXTENT = "300000.000000000,800000.000000000,6300000.000000000,6700000.000000000 [EPSG=3301]",
  63. HOVERLAY = 0,
  64. HSPACING = 1000,
  65. OUTPUT = output,
  66. TYPE = 2,
  67. VOVERLAY = 0,
  68. VSPACING = 1000
  69. # .quiet = TRUE
  70. )
  71. conf$table <- gpkg_table <- "epk10t_grid"
  72. result <- qgisprocess::qgis_run_algorithm(
  73. algorithm = algorithm,
  74. CRS = "EPSG:3301",
  75. EXTENT = "300000.000000000,800000.000000000,6300000.000000000,6700000.000000000 [EPSG=3301]",
  76. HOVERLAY = 0,
  77. HSPACING = 5000,
  78. OUTPUT = output,
  79. TYPE = 2,
  80. VOVERLAY = 0,
  81. VSPACING = 5000
  82. # .quiet = TRUE
  83. )
  84. conf$table <- gpkg_table <- "epk02t_grid"
  85. output <- ruut::construct_to_gpkg_output_postgres_str(conf = conf)
  86. result <- qgisprocess::qgis_run_algorithm(
  87. algorithm = algorithm,
  88. CRS = "EPSG:3301",
  89. EXTENT = "300000.000000000,800000.000000000,6300000.000000000,6700000.000000000 [EPSG=3301]",
  90. HOVERLAY = 0,
  91. HSPACING = 100,
  92. OUTPUT = output,
  93. TYPE = 2,
  94. VOVERLAY = 0,
  95. VSPACING = 100
  96. # .quiet = TRUE
  97. )
  98. cat(sprintf("\nAndmed salvestati asukohta: %s.\n\n", output))
  99. }