00_algandmed.R 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #' Andmebaasi loomine ja ühendamine
  2. #'
  3. source("functions/delete_existing_variables.R")
  4. library(dplyr)
  5. library(qgisprocess)
  6. library(sf)
  7. par(oma = c(0, 0, 0, 0)) # outer margin
  8. par(mar = c(0, 0, 0, 0) + 0.0)
  9. source("01_funktsioonid.R")
  10. # Uue schema loomine
  11. conf <- ruut::get_config()
  12. conf$schema <- "xxx_artikkel_210127"
  13. ruut::db_create_new_schema(conf = conf)
  14. # Objektide nimekiri
  15. objektid <- c("valga", "matsalu", "lahemaa")
  16. # Objektide piirjooned
  17. # ----------------- Valitud piirkond -----------------
  18. ## Piirkonna 'pk'
  19. conn <- ruut::db_connect(conf = conf)
  20. ## Valitud objekti indeks
  21. i <- 3
  22. ## 1. piirkonna piir
  23. pk <- pk_piir(obj = objektid[i])
  24. sf::st_geometry(pk) %>% plot()
  25. ## 2. piirkonna epk10t ruudud
  26. epk10t <- pk_piir_bb(obj = objektid[i])
  27. sf::st_geometry(epk10t) %>% plot(border = 3, lwd = 0.3, col = "#d3fffb")
  28. sf::st_geometry(pk) %>% plot(add = T)
  29. # 2.1 kaardiruutude nimekiri
  30. epk10t_nr <- epk10t$nr
  31. ## 2. Kaardiruudustiku epk200t (100x100km) piirikast
  32. conn <- ruut::db_connect()
  33. q <- sprintf("SELECT * FROM %s.%s", "maaamet", "epk200t_bb")
  34. cat(sprintf("\n-----------------\n%s\n\n", q))
  35. epk200t_bb <- sf::st_read(conn, query = q)
  36. sf::st_geometry(epk200t_bb) %>% plot()
  37. ## 3. Kaardiruudustiku epk200t (100x100km)
  38. conn <- ruut::db_connect()
  39. q <- sprintf("SELECT * FROM %s.%s", "maaamet", "epk200t")
  40. cat(sprintf("\n-----------------\n%s\n\n", q))
  41. epk200t <- sf::st_read(conn, query = q)
  42. sf::st_geometry(epk200t) %>% plot(add = T, border = 3, lwd = 0.3, col = "#d3fffb")
  43. ## 2. boundarybox
  44. # ----------------- Piirkonna BB leidmine -----------------
  45. ## Piirkonna 'pk' Boundary Box.
  46. result <- ruut::pk_bbox(epk10t, type = 0)
  47. pk_bbox <- sf::read_sf(qgisprocess::qgis_output(result, "OUTPUT"))
  48. sf::st_geometry(pk_bbox) %>% plot(border = 2)
  49. sf::st_geometry(epk10t) %>% plot(add = T, border = "darkblue", lwd = 0.5, lty = 1.8)
  50. # -------------- export bbox to postgis database ---------------
  51. conf$table <- "bbox"
  52. ruut::copy_polygon_to_db(x = result, conf = conf, id = "fid")