|
@@ -27,12 +27,73 @@ conn <- ruut::db_connect(conf = conf)
|
|
|
## Valitud objekti indeks
|
|
## Valitud objekti indeks
|
|
|
i <- 1
|
|
i <- 1
|
|
|
|
|
|
|
|
-## 1. piirkonna piir
|
|
|
|
|
-pk <- pk_piir(obj = objektid[i])
|
|
|
|
|
-sf::st_geometry(pk) %>% plot()
|
|
|
|
|
-## 2. piirkonna 3301 projektsiooniga piirikast
|
|
|
|
|
|
|
+for (i in 1:length(objektid)) {
|
|
|
|
|
+ ## 1. piirkonna piir
|
|
|
|
|
+ obj <- objektid[i]
|
|
|
|
|
+ pk <- pk_piir(obj = obj)
|
|
|
|
|
+ sf::st_geometry(pk) %>% plot()
|
|
|
|
|
+ gpkg_home <- "/data/gpkg/artiklid/artikkel_210127_valga_matsalu_lahemaa"
|
|
|
|
|
+ dsn <- sprintf("%s/%s.gpkg", gpkg_home, obj)
|
|
|
|
|
+ input_layer_name <- "piir"
|
|
|
|
|
+ input_layer <- sprintf("%s|layername=%s", dsn, input_layer_name)
|
|
|
|
|
+ output_layer_name <- "boundarybox_3301"
|
|
|
|
|
+ tmp_gpkg_file <- tempfile(fileext = ".gpkg")
|
|
|
|
|
+ # write to gpkg
|
|
|
|
|
+ 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()
|
|
|
|
|
+
|
|
|
|
|
+ ## 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"
|
|
|
|
|
+ # cat(qgisprocess::qgis_show_help(algorithm = algorithm))
|
|
|
|
|
+ result <- qgisprocess::qgis_run_algorithm(
|
|
|
|
|
+ algorithm = algorithm,
|
|
|
|
|
+ CRS = "EPSG:3301",
|
|
|
|
|
+ # EXTENT = '25.454305528,26.259893095,59.454118579,59.714621582 [EPSG:4326]',
|
|
|
|
|
+ EXTENT = input_layer,
|
|
|
|
|
+ HOVERLAY = 0,
|
|
|
|
|
+ HSPACING = 500,
|
|
|
|
|
+ TYPE = 2,
|
|
|
|
|
+ VOVERLAY = 0,
|
|
|
|
|
+ VSPACING = 500,
|
|
|
|
|
+ OUTPUT = qgisprocess::qgis_tmp_file(ext = ".gpkg"),
|
|
|
|
|
+ .quiet = TRUE
|
|
|
|
|
+ )
|
|
|
|
|
+ result
|
|
|
|
|
+ pk_grid <- sf::read_sf(qgisprocess::qgis_output(result, "OUTPUT"))
|
|
|
|
|
+ # sf::st_geometry(pk_grid) %>% plot()
|
|
|
|
|
+ ## 2.2 Leitud ruutudele leiame piirikasti.
|
|
|
|
|
+ algorithm <- "qgis:minimumboundinggeometry"
|
|
|
|
|
+ # cat(qgisprocess::qgis_show_help(algorithm = algorithm))
|
|
|
|
|
+ result1 <- qgisprocess::qgis_run_algorithm(
|
|
|
|
|
+ algorithm = algorithm,
|
|
|
|
|
+ FIELD = "",
|
|
|
|
|
+ INPUT = pk_grid,
|
|
|
|
|
+ TYPE = 3,
|
|
|
|
|
+ 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)
|
|
|
|
|
+ system(sprintf("ogr2ogr -f GPKG -overwrite %s %s -nln %s", dsn, tmp_gpkg_file, output_layer_name))
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
conn <- ruut::db_connect()
|
|
conn <- ruut::db_connect()
|
|
|
-q <- sprintf("SELECT * FROM %s.%s_bb", "xxx_artikkel_210127", objektid[i])
|
|
|
|
|
|
|
+q <- sprintf("SELECT * FROM %s.%s_bb", "xxx_artikkel_210127", obj)
|
|
|
cat(sprintf("\n-----------------\n%s\n\n", q))
|
|
cat(sprintf("\n-----------------\n%s\n\n", q))
|
|
|
pk_bb_3301 <- sf::st_read(conn, query = q)
|
|
pk_bb_3301 <- sf::st_read(conn, query = q)
|
|
|
sf::st_geometry(pk) %>% plot()
|
|
sf::st_geometry(pk) %>% plot()
|
|
@@ -76,4 +137,3 @@ q <- sprintf("SELECT * FROM %s.%s", "maaamet", "epk200t")
|
|
|
cat(sprintf("\n-----------------\n%s\n\n", q))
|
|
cat(sprintf("\n-----------------\n%s\n\n", q))
|
|
|
epk200t <- sf::st_read(conn, query = q)
|
|
epk200t <- sf::st_read(conn, query = q)
|
|
|
sf::st_geometry(epk200t) %>% plot(add = T, border = 3, lwd = 0.3, col = "#d3fffb")
|
|
sf::st_geometry(epk200t) %>% plot(add = T, border = 3, lwd = 0.3, col = "#d3fffb")
|
|
|
-
|
|
|