create_epk10t_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 5x5 km.
  4. #' Võrgustik salvestatakse andmebaasi nime 'epk10t_grid' alla.
  5. create_epk10t_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 = "5000,5000", # 5x5 km
  20. breaks = 0,
  21. coordinates = "300000,6300000 [EPSG:3301]",
  22. grid = "80,100", # ridade ja veergude arv
  23. map = "tmp/epk10t_grid.gpkg",
  24. position = 0,
  25. .quiet = TRUE
  26. )
  27. # result
  28. epk10t_grid <- sf::read_sf(qgisprocess::qgis_output(result, "map"))
  29. sf::st_geometry(epk10t_grid) %>% plot()
  30. conf <- ruut::get_config()
  31. conf$table <- "epk10t_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_epk10t_grid()