|
@@ -1,225 +1,16 @@
|
|
|
|
|
+#'
|
|
|
#' Funktsioonid
|
|
#' Funktsioonid
|
|
|
#'
|
|
#'
|
|
|
|
|
|
|
|
-# -----------------------------------------------------------------------
|
|
|
|
|
-## Funktsioon: piirkonna piir
|
|
|
|
|
-pk_piir <- function(obj) {
|
|
|
|
|
- # obj - objekti nimetus (näiteks: valga)
|
|
|
|
|
- conn <- ruut::db_connect()
|
|
|
|
|
- q <- sprintf("SELECT * FROM %s.%s_piir", conf$schema, tolower(obj))
|
|
|
|
|
- cat(sprintf("\n-----------------\n%s\n\n", q))
|
|
|
|
|
- sf::st_read(conn, query = q)
|
|
|
|
|
-}
|
|
|
|
|
-# pk_piir(obj = "valga")
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-# -----------------------------------------------------------------------
|
|
|
|
|
-## Funktsioon: piirkonna piiri katvate epk10t (5x5km) ruutude loomine
|
|
|
|
|
-create_pk_epk10t <- function(obj) {
|
|
|
|
|
- # obj - objekti nimetus (näiteks: valga)
|
|
|
|
|
- # 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 = 'postgres://dbname=\'data\' host=localhost port=6432 user=\'osm\' sslmode=disable authcfg=0i30k14 key=\'fid\' srid=4326 type=Polygon checkPrimaryKeyUnicity=\'1\' table=\"maaamet\".\"epk10t\" (geometry)',
|
|
|
|
|
- INTERSECT = sprintf('postgres://dbname=\'data\' host=localhost port=6432 user=\'osm\' sslmode=disable authcfg=0i30k14 key=\'ogc_fid\' srid=4326 type=Polygon checkPrimaryKeyUnicity=\'1\' table=\"xxx_artikkel_210127\".\"%s_piir\" (geometry)', obj),
|
|
|
|
|
- OUTPUT = qgisprocess::qgis_tmp_vector(),
|
|
|
|
|
- PREDICATE = c(0, 1),
|
|
|
|
|
- .quiet = TRUE
|
|
|
|
|
- )
|
|
|
|
|
- result
|
|
|
|
|
-}
|
|
|
|
|
-# create_pk_epk10t(obj = objektid[i])
|
|
|
|
|
-
|
|
|
|
|
-## Funktsioon: piirkonna piiri katvate epk10t (5x5km) ruutude lugemine
|
|
|
|
|
-pk_epk10t <- function(obj) {
|
|
|
|
|
- # obj - objekti nimetus (näiteks: valga)
|
|
|
|
|
- conn <- ruut::db_connect()
|
|
|
|
|
- q <- sprintf("SELECT * FROM %s.%s_epk10t", conf$schema, tolower(obj))
|
|
|
|
|
- cat(sprintf("\n-----------------\n%s\n\n", q))
|
|
|
|
|
- sf::st_read(conn, query = q)
|
|
|
|
|
-}
|
|
|
|
|
-# pk_epk10t(obj = "valga")
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-# -----------------------------------------------------------------------
|
|
|
|
|
-## Funktsioon: epk200t (100x100km) kaardiruutudele piirikasti (boundary box) loomine
|
|
|
|
|
-create_epk200t_bb <- function() {
|
|
|
|
|
- # ruut::qgis_algorithm_search_by_word(str = "bounding")
|
|
|
|
|
- algorithm <- "qgis:minimumboundinggeometry"
|
|
|
|
|
- # cat(qgisprocess::qgis_show_help(algorithm = algorithm))
|
|
|
|
|
- result <- qgisprocess::qgis_run_algorithm(
|
|
|
|
|
- algorithm = algorithm,
|
|
|
|
|
- FIELD = "",
|
|
|
|
|
- INPUT = 'postgres://dbname=\'data\' host=localhost port=6432 user=\'osm\' sslmode=disable authcfg=0i30k14 key=\'fid\' srid=4326 type=Polygon checkPrimaryKeyUnicity=\'1\' table=\"maaamet\".\"epk200t\" (geometry)',
|
|
|
|
|
- TYPE = 3,
|
|
|
|
|
- OUTPUT = qgisprocess::qgis_tmp_vector(),
|
|
|
|
|
- .quiet = TRUE
|
|
|
|
|
- )
|
|
|
|
|
- # result
|
|
|
|
|
- epk200t_bb <- sf::read_sf(qgis_output(result, "OUTPUT"))
|
|
|
|
|
- sf::st_geometry(epk200t_bb) %>% plot()
|
|
|
|
|
- conf <- ruut::get_config()
|
|
|
|
|
- conf$table <- "epk200t_bb"
|
|
|
|
|
- conf$schema <- "maaamet"
|
|
|
|
|
- ruut::copy_qgis_object_to_db(x = result, conf = conf, geometry_type = "POLYGON")
|
|
|
|
|
- cat(sprintf("\n-----------------\nAlgoritm: %s valmis.\n\n", algorithm))
|
|
|
|
|
- # result
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-# ---------------------------------------------------------------------
|
|
|
|
|
-## Grdid genereerimine.
|
|
|
|
|
-#' Funktsioonid gnereerivad kogu Eestit (s.o maaameti 100x100 km kogu Eestit katvate
|
|
|
|
|
-#' ruudstikega määratud ala). Ruutvõrgustik genereeritakse ruutudele 1x1, 5x5 ja
|
|
|
|
|
-#' 100x100 km.
|
|
|
|
|
-
|
|
|
|
|
-# 1. 100x100 km ruudustik
|
|
|
|
|
-create_epk200t_grid <- function() {
|
|
|
|
|
- # ruut::qgis_algorithm_search_by_word(str = "v.mkgrid")
|
|
|
|
|
- algorithm <- "grass7:v.mkgrid"
|
|
|
|
|
- # cat(qgisprocess::qgis_show_help(algorithm = algorithm))
|
|
|
|
|
- result <- qgisprocess::qgis_run_algorithm(
|
|
|
|
|
- algorithm = algorithm,
|
|
|
|
|
- "-h" = 0,
|
|
|
|
|
- "-p" = 0,
|
|
|
|
|
- GRASS_OUTPUT_TYPE_PARAMETER = 0,
|
|
|
|
|
- GRASS_REGION_PARAMETER = "",
|
|
|
|
|
- GRASS_VECTOR_DSCO = "",
|
|
|
|
|
- GRASS_VECTOR_EXPORT_NOCAT = 0,
|
|
|
|
|
- GRASS_VECTOR_LCO = "",
|
|
|
|
|
- angle = 0,
|
|
|
|
|
- box = "100000,100000",
|
|
|
|
|
- breaks = 0,
|
|
|
|
|
- coordinates = "300000,6300000 [EPSG:3301]",
|
|
|
|
|
- grid = "4,5",
|
|
|
|
|
- map = "tmp/epk200t_grrid.gpkg",
|
|
|
|
|
- position = 0,
|
|
|
|
|
- .quiet = TRUE
|
|
|
|
|
- )
|
|
|
|
|
- # result
|
|
|
|
|
- epk200t_grid <- sf::read_sf(qgis_output(result, "map"))
|
|
|
|
|
- sf::st_geometry(epk200t_grid) %>% plot()
|
|
|
|
|
- conf <- ruut::get_config()
|
|
|
|
|
- conf$table <- "epk200t_grid"
|
|
|
|
|
- conf$schema <- "maaamet"
|
|
|
|
|
- ruut::copy_qgis_object_to_db(
|
|
|
|
|
- x = result, conf = conf, geometry_type = "POLYGON",
|
|
|
|
|
- crs_source = "EPSG:3301"
|
|
|
|
|
- )
|
|
|
|
|
- cat(sprintf("\n-----------------\nAlgoritm: %s valmis.\n\n", algorithm))
|
|
|
|
|
- # result
|
|
|
|
|
-}
|
|
|
|
|
|
|
+source("geomeetria_teisendused/pk_piir.R")
|
|
|
|
|
+source("geomeetria_teisendused/create_pk_epk10t.R")
|
|
|
|
|
+source("geomeetria_teisendused/pk_epk10t.R")
|
|
|
|
|
+source("geomeetria_teisendused/create_epk200t_bb.R")
|
|
|
|
|
+source("geomeetria_teisendused/create_epk10t_grid.R")
|
|
|
|
|
+source("geomeetria_teisendused/create_epk2t_grid.R")
|
|
|
|
|
+source("geomeetria_teisendused/create_epk02t_grid.R")
|
|
|
|
|
+source("geomeetria_teisendused/create_boundarybox_3301_to_pk.R")
|
|
|
|
|
+source("geomeetria_teisendused/create_epk10t_grid_to_pk_bb.R")
|
|
|
|
|
|
|
|
-# 2. 5x5 km ruudustik
|
|
|
|
|
-create_epk10t_grid <- function() {
|
|
|
|
|
- # ruut::qgis_algorithm_search_by_word(str = "v.mkgrid")
|
|
|
|
|
- algorithm <- "grass7:v.mkgrid"
|
|
|
|
|
- # cat(qgisprocess::qgis_show_help(algorithm = algorithm))
|
|
|
|
|
- result <- qgisprocess::qgis_run_algorithm(
|
|
|
|
|
- algorithm = algorithm,
|
|
|
|
|
- "-h" = 0,
|
|
|
|
|
- "-p" = 0,
|
|
|
|
|
- GRASS_OUTPUT_TYPE_PARAMETER = 0,
|
|
|
|
|
- GRASS_REGION_PARAMETER = "",
|
|
|
|
|
- GRASS_VECTOR_DSCO = "",
|
|
|
|
|
- GRASS_VECTOR_EXPORT_NOCAT = 0,
|
|
|
|
|
- GRASS_VECTOR_LCO = "",
|
|
|
|
|
- angle = 0,
|
|
|
|
|
- box = "5000,5000", # 5x5 km
|
|
|
|
|
- breaks = 0,
|
|
|
|
|
- coordinates = "300000,6300000 [EPSG:3301]",
|
|
|
|
|
- grid = "80,100", # ridade ja veergude arv
|
|
|
|
|
- map = "tmp/epk10t_grrid.gpkg",
|
|
|
|
|
- position = 0,
|
|
|
|
|
- .quiet = TRUE
|
|
|
|
|
- )
|
|
|
|
|
- # result
|
|
|
|
|
- epk10t_grid <- sf::read_sf(qgis_output(result, "map"))
|
|
|
|
|
- sf::st_geometry(epk10t_grid) %>% plot()
|
|
|
|
|
- conf <- ruut::get_config()
|
|
|
|
|
- conf$table <- "epk10t_grid"
|
|
|
|
|
- conf$schema <- "maaamet"
|
|
|
|
|
- ruut::copy_qgis_object_to_db(
|
|
|
|
|
- x = result, conf = conf, geometry_type = "POLYGON",
|
|
|
|
|
- crs_source = "EPSG:3301"
|
|
|
|
|
- )
|
|
|
|
|
- cat(sprintf("\n-----------------\nAlgoritm: %s valmis.\n\n", algorithm))
|
|
|
|
|
- # result
|
|
|
|
|
-}
|
|
|
|
|
|
|
|
|
|
-# 3. 1 x 1 km ruudustik
|
|
|
|
|
-create_epk2t_grid <- function() {
|
|
|
|
|
- # ruut::qgis_algorithm_search_by_word(str = "v.mkgrid")
|
|
|
|
|
- algorithm <- "grass7:v.mkgrid"
|
|
|
|
|
- # cat(qgisprocess::qgis_show_help(algorithm = algorithm))
|
|
|
|
|
- result <- qgisprocess::qgis_run_algorithm(
|
|
|
|
|
- algorithm = algorithm,
|
|
|
|
|
- "-h" = 0,
|
|
|
|
|
- "-p" = 0,
|
|
|
|
|
- GRASS_OUTPUT_TYPE_PARAMETER = 0,
|
|
|
|
|
- GRASS_REGION_PARAMETER = "",
|
|
|
|
|
- GRASS_VECTOR_DSCO = "",
|
|
|
|
|
- GRASS_VECTOR_EXPORT_NOCAT = 0,
|
|
|
|
|
- GRASS_VECTOR_LCO = "",
|
|
|
|
|
- angle = 0,
|
|
|
|
|
- box = "1000,1000",
|
|
|
|
|
- breaks = 0,
|
|
|
|
|
- coordinates = "300000,6300000 [EPSG:3301]",
|
|
|
|
|
- grid = "400,500",
|
|
|
|
|
- map = "tmp/epk2t_grrid.gpkg",
|
|
|
|
|
- position = 0,
|
|
|
|
|
- .quiet = TRUE
|
|
|
|
|
- )
|
|
|
|
|
- # result
|
|
|
|
|
- # epk2t_grid <- sf::read_sf(qgis_output(result, "map"))
|
|
|
|
|
- # sf::st_geometry(epk2t_grid) %>% plot()
|
|
|
|
|
- conf <- ruut::get_config()
|
|
|
|
|
- conf$table <- "epk2t_grid"
|
|
|
|
|
- conf$schema <- "maaamet"
|
|
|
|
|
- ruut::copy_qgis_object_to_db(
|
|
|
|
|
- x = result, conf = conf, geometry_type = "POLYGON",
|
|
|
|
|
- crs_source = "EPSG:3301"
|
|
|
|
|
- )
|
|
|
|
|
- cat(sprintf("\n-----------------\nAlgoritm: %s valmis.\n\n", algorithm))
|
|
|
|
|
- # result
|
|
|
|
|
-}
|
|
|
|
|
|
|
|
|
|
-# 3. 100 x 100 m ruudustik
|
|
|
|
|
-create_epk02t_grid <- function() {
|
|
|
|
|
- # ruut::qgis_algorithm_search_by_word(str = "v.mkgrid")
|
|
|
|
|
- algorithm <- "grass7:v.mkgrid"
|
|
|
|
|
- # cat(qgisprocess::qgis_show_help(algorithm = algorithm))
|
|
|
|
|
- result <- qgisprocess::qgis_run_algorithm(
|
|
|
|
|
- algorithm = algorithm,
|
|
|
|
|
- "-h" = 0,
|
|
|
|
|
- "-p" = 0,
|
|
|
|
|
- GRASS_OUTPUT_TYPE_PARAMETER = 0,
|
|
|
|
|
- GRASS_REGION_PARAMETER = "",
|
|
|
|
|
- GRASS_VECTOR_DSCO = "",
|
|
|
|
|
- GRASS_VECTOR_EXPORT_NOCAT = 0,
|
|
|
|
|
- GRASS_VECTOR_LCO = "",
|
|
|
|
|
- angle = 0,
|
|
|
|
|
- box = "100,100",
|
|
|
|
|
- breaks = 0,
|
|
|
|
|
- coordinates = "300000,6300000 [EPSG:3301]",
|
|
|
|
|
- grid = "4000,5000",
|
|
|
|
|
- map = "tmp/epk02t_grrid.gpkg",
|
|
|
|
|
- position = 0,
|
|
|
|
|
- .quiet = TRUE
|
|
|
|
|
- )
|
|
|
|
|
- # result
|
|
|
|
|
- # epk02t_grid <- sf::read_sf(qgis_output(result, "map"))
|
|
|
|
|
- # sf::st_geometry(epk02t_grid) %>% plot()
|
|
|
|
|
- conf <- ruut::get_config()
|
|
|
|
|
- conf$table <- "epk02t_grid"
|
|
|
|
|
- conf$schema <- "maaamet"
|
|
|
|
|
- ruut::copy_qgis_object_to_db(
|
|
|
|
|
- x = result, conf = conf, geometry_type = "POLYGON",
|
|
|
|
|
- crs_source = "EPSG:3301"
|
|
|
|
|
- )
|
|
|
|
|
- cat(sprintf("\n-----------------\nAlgoritm: %s valmis.\n\n", algorithm))
|
|
|
|
|
- # result
|
|
|
|
|
-}
|
|
|