|
|
@@ -1,6 +1,9 @@
|
|
|
#' Andmebaasi loomine ja ühendamine
|
|
|
#'
|
|
|
|
|
|
+str <- ""
|
|
|
+ruut::construct_qgis_output_result_to_beter_format(str = str)
|
|
|
+
|
|
|
source("functions/delete_existing_variables.R")
|
|
|
|
|
|
library(dplyr)
|
|
|
@@ -28,7 +31,8 @@ conn <- ruut::db_connect(conf = conf)
|
|
|
i <- 1
|
|
|
|
|
|
for (i in 1:length(objektid)) {
|
|
|
- ## 1. piirkonna piir
|
|
|
+ ## ---------------- 1. piirkonna piir ------------------
|
|
|
+ ## Muutujad: pk - piirkond
|
|
|
obj <- objektid[i]
|
|
|
pk <- pk_piir(obj = obj)
|
|
|
sf::st_geometry(pk) %>% plot()
|
|
|
@@ -42,11 +46,10 @@ for (i in 1:length(objektid)) {
|
|
|
class(pk)
|
|
|
sf::write_sf(pk,
|
|
|
dsn = dsn,
|
|
|
- layer = "piir", driver = "gpkg", append = FALSE )
|
|
|
- # layer_options = c("OVERWRITE=true", "append=FALSE")
|
|
|
- # ruut::construct_qgis_output_result_to_beter_format()
|
|
|
+ layer = "piir", driver = "gpkg", append = FALSE
|
|
|
+ )
|
|
|
|
|
|
- ## 2. piirkonna 3301 projektsiooniga piirikast
|
|
|
+ ## ------------ 2. piirkonna 3301 projektsiooniga piirikast --------------
|
|
|
## 2.1 Esmalt leiame milliset 500x500 meetri ruutudega on objekt kaetud.
|
|
|
# ruut::qgis_algorithm_search_by_word(str = "grid")
|
|
|
algorithm <- "native:creategrid"
|
|
|
@@ -61,8 +64,8 @@ for (i in 1:length(objektid)) {
|
|
|
TYPE = 2,
|
|
|
VOVERLAY = 0,
|
|
|
VSPACING = 500,
|
|
|
- OUTPUT = qgisprocess::qgis_tmp_file(ext = ".gpkg"),
|
|
|
- .quiet = TRUE
|
|
|
+ OUTPUT = qgisprocess::qgis_tmp_file(ext = ".gpkg")
|
|
|
+ # .quiet = TRUE
|
|
|
)
|
|
|
result
|
|
|
pk_grid <- sf::read_sf(qgisprocess::qgis_output(result, "OUTPUT"))
|
|
|
@@ -70,21 +73,83 @@ for (i in 1:length(objektid)) {
|
|
|
## 2.2 Leitud ruutudele leiame piirikasti.
|
|
|
algorithm <- "qgis:minimumboundinggeometry"
|
|
|
# cat(qgisprocess::qgis_show_help(algorithm = algorithm))
|
|
|
- result1 <- qgisprocess::qgis_run_algorithm(
|
|
|
+ result <- qgisprocess::qgis_run_algorithm(
|
|
|
algorithm = algorithm,
|
|
|
FIELD = "",
|
|
|
INPUT = pk_grid,
|
|
|
TYPE = 3,
|
|
|
- OUTPUT = tmp_gpkg_file,
|
|
|
- .quiet = TRUE
|
|
|
+ OUTPUT = tmp_gpkg_file
|
|
|
+ # .quiet = TRUE
|
|
|
)
|
|
|
- result1
|
|
|
- pk_grid_bb <- sf::read_sf(qgisprocess::qgis_output(result1, "OUTPUT"))
|
|
|
- sf::st_geometry(pk_grid_bb) %>% plot(add =T)
|
|
|
+ result
|
|
|
+ pk_grid_bb <- sf::read_sf(qgisprocess::qgis_output(result, "OUTPUT"))
|
|
|
+ sf::st_geometry(pk_grid_bb) %>% plot(add = T)
|
|
|
system(sprintf("ogr2ogr -f GPKG -overwrite %s %s -nln %s", dsn, tmp_gpkg_file, output_layer_name))
|
|
|
-}
|
|
|
-
|
|
|
|
|
|
+ ## ------------- 3. piirkonna epk10t (5x5 km) ruudud --------------------
|
|
|
+ # 3.1 kogu ruutvõrgustik
|
|
|
+ ruudud <- c("epk10t_grid", "epk2t_grid", "epk02t_grid")
|
|
|
+ j <- 4
|
|
|
+ for (j in 1:length(ruudud)) {
|
|
|
+ ruut <- ruudud[j]
|
|
|
+ output_layer_name <- ruut
|
|
|
+ conf <- ruut::get_config()
|
|
|
+ pg <- ruut::construct_ogr2ogr_PG_connect_str(conf = conf)
|
|
|
+ input <- sprintf(
|
|
|
+ 'postgres://dbname=\'%s\' host=%s port=%s user=\'%s\' sslmode=%s password=\'%s\' key=\'fid\' srid=4326 type=Polygon checkPrimaryKeyUnicity=\'1\' table=\"%s\".\"%s\" (geometry)',
|
|
|
+ conf$dbname, conf$host, conf$port, conf$user, conf$sslmode, conf$password,
|
|
|
+ "maaamet", ruut
|
|
|
+ )
|
|
|
+ # ruut::qgis_algorithm_search_by_word(str = "extract")
|
|
|
+ algorithm <- "native:extractbylocation"
|
|
|
+ # cat(qgisprocess::qgis_show_help(algorithm = algorithm))
|
|
|
+ result <- qgisprocess::qgis_run_algorithm(
|
|
|
+ algorithm = algorithm,
|
|
|
+ INPUT = input,
|
|
|
+ INTERSECT = sprintf("%s|layername=%s", dsn, "boundarybox_3301"),
|
|
|
+ OUTPUT = tmp_gpkg_file,
|
|
|
+ PREDICATE = c(0, 1)
|
|
|
+ # .quiet = TRUE
|
|
|
+ )
|
|
|
+ result
|
|
|
+ assign(ruut, sf::read_sf(qgisprocess::qgis_output(result, "OUTPUT")))
|
|
|
+ system(sprintf("ogr2ogr -f GPKG -overwrite %s %s -nln %s", dsn, tmp_gpkg_file, output_layer_name))
|
|
|
+ }
|
|
|
+ sf::st_geometry(epk10t_grid) %>% plot(add = T)
|
|
|
+
|
|
|
+ # 3.2 ainult piirkonnaga seotud ning informatsiooni sisaldav ruutvõrgustik
|
|
|
+ ruudud <- c("epk10t", "epk2t")
|
|
|
+ j <- 4
|
|
|
+ for (j in 1:length(ruudud)) {
|
|
|
+ ruut <- ruudud[j]
|
|
|
+ output_layer_name <- ruut
|
|
|
+ conf <- ruut::get_config()
|
|
|
+ pg <- ruut::construct_ogr2ogr_PG_connect_str(conf = conf)
|
|
|
+ input <- sprintf(
|
|
|
+ 'postgres://dbname=\'%s\' host=%s port=%s user=\'%s\' sslmode=%s password=\'%s\' key=\'fid\' srid=4326 type=Polygon checkPrimaryKeyUnicity=\'1\' table=\"%s\".\"%s\" (geometry)',
|
|
|
+ conf$dbname, conf$host, conf$port, conf$user, conf$sslmode, conf$password,
|
|
|
+ "maaamet", ruut
|
|
|
+ )
|
|
|
+ # ruut::qgis_algorithm_search_by_word(str = "extract")
|
|
|
+ algorithm <- "native:extractbylocation"
|
|
|
+ # cat(qgisprocess::qgis_show_help(algorithm = algorithm))
|
|
|
+ result <- qgisprocess::qgis_run_algorithm(
|
|
|
+ algorithm = algorithm,
|
|
|
+ INPUT = input,
|
|
|
+ INTERSECT = input_layer,
|
|
|
+ OUTPUT = tmp_gpkg_file,
|
|
|
+ PREDICATE = c(0, 1)
|
|
|
+ # .quiet = TRUE
|
|
|
+ )
|
|
|
+ result
|
|
|
+ assign(ruut, sf::read_sf(qgisprocess::qgis_output(result, "OUTPUT")))
|
|
|
+ system(sprintf("ogr2ogr -f GPKG -overwrite %s %s -nln %s", dsn, tmp_gpkg_file, output_layer_name))
|
|
|
+ }
|
|
|
+ sf::st_geometry(epk10t) %>% plot(add = T)
|
|
|
+ ## ---------------------- vaata layer'id ----------------------
|
|
|
+ # Vaata layer'eid
|
|
|
+ sf::st_layers(dsn = dsn)
|
|
|
+}
|
|
|
|
|
|
|
|
|
|