create_epk200t_bb.R 1.2 KB

1234567891011121314151617181920212223242526
  1. #' Funktsioon: epk200t (100x100km) kaardiruutudele piirikasti (boundary box) loomine
  2. #' Olemasolevatele ruutudele 'maaamet.epk200t' luuakse piirikast ning
  3. #' salvestatakse see tabelisee nimega 'maaamet.epk200t_bb'.
  4. create_epk200t_bb <- function() {
  5. # ruut::qgis_algorithm_search_by_word(str = "bounding")
  6. algorithm <- "qgis:minimumboundinggeometry"
  7. # cat(qgisprocess::qgis_show_help(algorithm = algorithm))
  8. result <- qgisprocess::qgis_run_algorithm(
  9. algorithm = algorithm,
  10. FIELD = "",
  11. INPUT = 'postgres://dbname=\'data\' host=localhost port=6432 user=\'osm\' sslmode=disable password=\'osm\' key=\'fid\' srid=4326 type=Polygon checkPrimaryKeyUnicity=\'1\' table=\"maaamet\".\"epk200t\" (geometry)',
  12. TYPE = 3,
  13. OUTPUT = qgisprocess::qgis_tmp_vector(),
  14. .quiet = TRUE
  15. )
  16. # result
  17. epk200t_bb <- sf::read_sf(qgisprocess::qgis_output(result, "OUTPUT"))
  18. sf::st_geometry(epk200t_bb) %>% plot()
  19. conf <- ruut::get_config()
  20. conf$table <- "epk200t_bb"
  21. conf$schema <- "maaamet"
  22. ruut::copy_qgis_object_to_db(x = result, conf = conf, geometry_type = "POLYGON")
  23. cat(sprintf("\n-----------------\nAlgoritm: %s valmis.\n\n", algorithm))
  24. }
  25. # create_epk200t_bb()