#' Funktsioon: epk10t kaardiruutude nimekiri #' Vajalik ortofotode allalaadimiseks. Nimekiri käib piirkonna #' EPSG:3301 piirikasti kohta pk_epk10t_ruutude_nimekiri <- function(obj) { # obj - objekti nimetus (näiteks: valga) conn <- ruut::db_connect() q <- sprintf("SELECT * FROM %s.%s_bb", conf$schema, tolower(obj)) cat(sprintf("\n-----------------\n%s\n\n", q)) sp <- sf::st_read(conn, query = q) ## epk10t ruutvõrgustiku lugemine # ruut::qgis_algorithm_search_by_word(str = "joinattributesbylocation") algorithm <- "native:joinattributesbylocation" # cat(qgisprocess::qgis_show_help(algorithm = algorithm)) result <- qgisprocess::qgis_run_algorithm( algorithm = algorithm, DISCARD_NONMATCHING = 1, INPUT = 'postgres://dbname=\'data\' host=localhost port=6432 user=\'osm\' sslmode=disable password=\'osm\' key=\'fid\' srid=4326 type=Polygon checkPrimaryKeyUnicity=\'1\' table=\"(SELECT * FROM maaamet.epk10t )\" (geometry)', JOIN = sprintf('postgres://dbname=\'data\' host=localhost port=6432 user=\'osm\' sslmode=disable password=\'osm\' key=\'fid\' srid=4326 type=Polygon checkPrimaryKeyUnicity=\'1\' table=\"(SELECT * FROM xxx_artikkel_210127.%s_bb )\" (geometry)', obj), JOIN_FIELDS = c("id"), METHOD = 0, PREDICATE = c(0, 1), PREFIX = "", OUTPUT = qgisprocess::qgis_tmp_vector(), NON_MATCHING = qgisprocess::qgis_tmp_vector(), .quiet = TRUE ) result ## !!!!!!!! NB !!!!!!!! ## Siin on 2 objekti väljundiks 'OUTPUT' ja 'NON_MATCHING'. Peame valima ## ainult ühe ja teisendama. pk_grid <- sf::read_sf(qgisprocess::qgis_output(result, "OUTPUT")) sf::st_geometry(pk_grid) %>% plot() pk_grid$nr } # pk_epk10t_ruutude_nimekiri(obj = "valga")