00_algandmed.R 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. #' Andmebaasi loomine ja ühendamine
  2. #'
  3. system("ogr2ogr --long-usage")
  4. # Processing algorithm…
  5. # Algorithm 'Count points in polygon' starting…
  6. # Input parameters:
  7. # { 'CLASSFIELD' : '', 'FIELD' : 'NUMPOINTS', 'OUTPUT' : 'ogr:dbname=\'/data/gpkg/artiklid/artikkel_210127_valga_matsalu_lahemaa/valga_results.gpkg\' table=\"count_aadressandmed_ee_epk02t\" (geom)', 'POINTS' : '/data/gpkg/artiklid/artikkel_210127_valga_matsalu_lahemaa/valga_p.gpkg|layername=aadressandmed_ee', 'POLYGONS' : 'memory://Polygon?crs=EPSG:3301&field=fid:long(0,0)&field=id:integer(0,0)&field=cat:double(0,0)&field=row:double(0,0)&field=col:integer(0,0)&field=NUMPOINTS:double(0,0)&uid={b5c46c2b-5663-417c-83d4-6811b2ca538b}', 'WEIGHT' : '' }
  8. str <- "{ 'INPUT' : '/data/gpkg/artiklid/artikkel_210127_valga_matsalu_lahemaa/valga.gpkg|layername=piir', 'OUTPUT' : 'ogr:dbname=\'/data/gpkg/artiklid/artikkel_210127_valga_matsalu_lahemaa/valga_l.gpkg\' table=\"piir_l\" (geom)' }"
  9. ruut::construct_qgis_output_result_to_beter_format(str = str)
  10. source("functions/delete_existing_variables.R")
  11. library(dplyr)
  12. library(qgisprocess)
  13. library(sf)
  14. par(oma = c(0, 0, 0, 0)) # outer margin
  15. par(mar = c(0, 0, 0, 0) + 0.0)
  16. # Uue schema loomine
  17. conf <- ruut::get_config()
  18. conf$schema <- "xxx_artikkel_210127"
  19. ruut::db_create_new_schema(conf = conf)
  20. # Objektide nimekiri
  21. objektid <- c("valga", "matsalu", "lahemaa")
  22. # ----------------- Loe piirkond (objekt) -----------------
  23. ## Piirkonna 'pk'
  24. conn <- ruut::db_connect(conf = conf)
  25. ## Valitud objekti indeks
  26. i <- 1
  27. source("geomeetria_teisendused/pk_piir.R")
  28. source("gpkg/01_piirkonnale_ruudustike_lisamine.R")
  29. source("gpkg/02_piirkonnale_polygoonide_lisamine.R")
  30. source("gpkg/03_piirkonnale_punktide_lisamine.R")
  31. source("gpkg/04_piirkonnale_joonte_lisamine.R")
  32. for (i in 1:length(objektid)) {
  33. ## ---------------- 1. piirkonna piir ------------------
  34. ## Muutujad: pk - piirkond
  35. obj <- objektid[i]
  36. pk <- pk_piir(obj = obj)
  37. pk <- sf::st_transform(pk, sf::st_crs("EPSG:3301"))
  38. # sf::st_crs(pk)
  39. sf::st_geometry(pk) %>% plot()
  40. gpkg_home <- "/data/gpkg/artiklid/artikkel_210127_valga_matsalu_lahemaa"
  41. piirkonnale_ruudustike_lisamine(obj = obj, pk = pk, gpkg_home = gpkg_home)
  42. piirkonnale_polygoonide_lisamine(obj = obj, pk = pk, gpkg_home = gpkg_home)
  43. piirkonnale_punktide_lisamine(obj = obj, pk = pk, gpkg_home = gpkg_home)
  44. piirkonnale_joonte_lisamine(obj = obj, pk = pk, gpkg_home = gpkg_home)
  45. }
  46. conn <- ruut::db_connect()
  47. q <- sprintf("SELECT * FROM %s.%s_bb", "xxx_artikkel_210127", obj)
  48. cat(sprintf("\n-----------------\n%s\n\n", q))
  49. pk_bb_3301 <- sf::st_read(conn, query = q)
  50. sf::st_geometry(pk) %>% plot()
  51. sf::st_geometry(pk_bb_3301) %>% plot(add = T)
  52. ## 3. piirkonna epk10t ruudud
  53. # 3.1 kogu ruutvõrgustik
  54. epk10t_grid <- pk_epk10t_grid(obj = objektid[i])
  55. # 3.1 ainult piirkonna ruutvõrgustik
  56. epk10t <- pk_epk10t(obj = objektid[i])
  57. sf::st_geometry(epk10t_grid) %>% plot(border = 3, lwd = 0.3, col = "#d3fffb")
  58. sf::st_geometry(epk10t) %>% plot(add = T, border = 3, lwd = 0.3, col = "#a3fffb")
  59. sf::st_geometry(pk) %>% plot(add = T)
  60. # 4 piirkonna epk10t kaardiruutude nimekiri ortofotode allalaadimiseks
  61. epk10t_nr <- pk_epk10t_ruutude_nimekiri(objektid[i])
  62. ## 5. piirkonna epk2t ruudud
  63. # 3.1 kogu ruutvõrgustik
  64. epk2t_grid <- pk_epk2t_grid(obj = objektid[i])
  65. # 3.1 ainult piirkonna ruutvõrgustik
  66. epk2t <- pk_epk2t(obj = objektid[i])
  67. sf::st_geometry(epk2t_grid) %>% plot(border = 3, lwd = 0.3, col = "#d3fffb")
  68. sf::st_geometry(epk2t) %>% plot(add = T, border = 3, lwd = 0.3, col = "#a3fffb")
  69. sf::st_geometry(pk) %>% plot(add = T)
  70. ## -------------- Muud ruudustikega seotud demo joonised ----------------
  71. ## 2. Kaardiruudustiku epk200t (100x100km) piirikast
  72. conn <- ruut::db_connect()
  73. q <- sprintf("SELECT * FROM %s.%s", "maaamet", "epk200t_bb")
  74. cat(sprintf("\n-----------------\n%s\n\n", q))
  75. epk200t_bb <- sf::st_read(conn, query = q)
  76. sf::st_geometry(epk200t_bb) %>% plot()
  77. ## 3. Kaardiruudustiku epk200t (100x100km)
  78. conn <- ruut::db_connect()
  79. q <- sprintf("SELECT * FROM %s.%s", "maaamet", "epk200t")
  80. cat(sprintf("\n-----------------\n%s\n\n", q))
  81. epk200t <- sf::st_read(conn, query = q)
  82. sf::st_geometry(epk200t) %>% plot(add = T, border = 3, lwd = 0.3, col = "#d3fffb")