create_epk2t_grid.R 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. # Võrgustike genereerimine ja salvestamine andmebaasi
  2. #' Funktsioon gnereerib kogu Eestit katva ruudustike piirikasti
  3. #' 'maaamet.epk200t_bb' sisse ruutvõrgustiku ruudu suurusega 1x1 km.
  4. #' Võrgustik salvestatakse andmebaasi nime 'epk2t_grid' alla.
  5. create_epk2t_grid <- function() {
  6. # ruut::qgis_algorithm_search_by_word(str = "v.mkgrid")
  7. algorithm <- "grass7:v.mkgrid"
  8. # cat(qgisprocess::qgis_show_help(algorithm = algorithm))
  9. result <- qgisprocess::qgis_run_algorithm(
  10. algorithm = algorithm,
  11. "-h" = 0,
  12. "-p" = 0,
  13. GRASS_OUTPUT_TYPE_PARAMETER = 0,
  14. GRASS_REGION_PARAMETER = "",
  15. GRASS_VECTOR_DSCO = "",
  16. GRASS_VECTOR_EXPORT_NOCAT = 0,
  17. GRASS_VECTOR_LCO = "",
  18. angle = 0,
  19. box = "1000,1000",
  20. breaks = 0,
  21. coordinates = "300000,6300000 [EPSG:3301]",
  22. grid = "400,500",
  23. map = "tmp/epk2t_grid.gpkg",
  24. position = 0,
  25. .quiet = TRUE
  26. )
  27. # result
  28. # epk2t_grid <- sf::read_sf(qgisprocess::qgis_output(result, "map"))
  29. # sf::st_geometry(epk2t_grid) %>% plot()
  30. conf <- ruut::get_config()
  31. conf$table <- "epk2t_grid"
  32. conf$schema <- "maaamet"
  33. ruut::copy_qgis_object_to_db(
  34. x = result, conf = conf, geometry_type = "POLYGON",
  35. crs_source = "EPSG:3301"
  36. )
  37. cat(sprintf("\n-----------------\nAlgoritm: %s valmis.\n\n", algorithm))
  38. }
  39. create_epk2t_grid()