|
|
@@ -0,0 +1,92 @@
|
|
|
+#' ==========================================================================
|
|
|
+#' Ajalooliste kaartide kihid.
|
|
|
+#' Piirkonna kaartide png failide allalaadimine.
|
|
|
+
|
|
|
+
|
|
|
+#' Piirkona ajalooliste kaartide allalaadimine.
|
|
|
+#' Käsitsi pead vaatama, et maaameti lingis oleks õige "ma ei tea mis number
|
|
|
+#' see on".
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ajalooliste_kaartide_png_allalaadimine <-
|
|
|
+ function(conf = conf, kood_urlis = "id5g") {
|
|
|
+ # kood urlis: https://xgis.maaamet.ee/xgis2/service/xxxxxxx
|
|
|
+ # Pead otsima neid xxxxxx-e.
|
|
|
+ selle_pead_ise_uurima <- kood_urlis
|
|
|
+ # Ajaloliste kaartide kihid
|
|
|
+ layers <- c(
|
|
|
+ "yheverstakaart_alt",
|
|
|
+ "kaheverstakaart_alt",
|
|
|
+ "kolmeverstakaart_alt",
|
|
|
+ "HYBRID",
|
|
|
+ "Halduspiir_raster",
|
|
|
+ "vanaBaaskaart",
|
|
|
+ "ekj_50T",
|
|
|
+ "kk1940",
|
|
|
+ "lehman",
|
|
|
+ "ew_25T",
|
|
|
+ "ew_50T",
|
|
|
+ "ew_200T",
|
|
|
+ "pk_trykk",
|
|
|
+ "heereskarte"
|
|
|
+ )
|
|
|
+ # Ühenduse loomine.
|
|
|
+ conn <- ruut::db_connect()
|
|
|
+ # Piirkonda katvate maaameti ruudustike piirkast.
|
|
|
+ q <- sprintf("SELECT \"left\", top, \"right\", bottom
|
|
|
+FROM \"%s\".\"a00_bb2\";",
|
|
|
+ conf$schema)
|
|
|
+ cat(sprintf("\n-----------------\n%s\n\n", q))
|
|
|
+ a00_bb2 <- DBI::dbGetQuery(conn, q)[1, ]
|
|
|
+ # Lühike vallanimi, mida kasutame salvestamise kataloogi nimena.
|
|
|
+ vallanimi_lyhike <-
|
|
|
+ paste0(tolower(strsplit(pk_nimi, split = " ")[[1]][1]))
|
|
|
+ # Piltide salvestamise kataloog. Loome kui ei eksisteeri.
|
|
|
+ piltide_salvestamise_kataloog <-
|
|
|
+ sprintf("tmp/kaardid_png/%s", vallanimi_lyhike)
|
|
|
+ if (!dir.exists(piltide_salvestamise_kataloog)) {
|
|
|
+ dir.create(piltide_salvestamise_kataloog,
|
|
|
+ showWarnings = F,
|
|
|
+ recursive = T)
|
|
|
+ }
|
|
|
+ # Failide allalaadimine
|
|
|
+ # ruut::qgis_algorithm_search_by_word("filedownloader")
|
|
|
+ algorithm <- "native:filedownloader"
|
|
|
+ # Kuna alla ei saa laadida üle 3000 px laiuseid png pilte, siis teisendame pildi suurusi.
|
|
|
+ vahendamise_koefitsent <-
|
|
|
+ round(max(round((
|
|
|
+ a00_bb2[1, "right"] - a00_bb2[1, "left"]
|
|
|
+ ), 0), round((
|
|
|
+ a00_bb2[1, "top"] - a00_bb2[1, "bottom"]
|
|
|
+ ), 0)) /
|
|
|
+ 3000, 0)
|
|
|
+ png_width <-
|
|
|
+ round((a00_bb2[1, "right"] - a00_bb2[1, "left"]) / vahendamise_koefitsent, 0)
|
|
|
+ png_height <-
|
|
|
+ round((a00_bb2[1, "top"] - a00_bb2[1, "bottom"]) / vahendamise_koefitsent, 0)
|
|
|
+
|
|
|
+ for (i in 1:length(layers)) {
|
|
|
+ url <-
|
|
|
+ sprintf(
|
|
|
+ "https://xgis.maaamet.ee/xgis2/service/%s/ajal?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&FORMAT=image%%2Fpng&TRANSPARENT=false&LAYERS=%s&SRS=EPSG%%3A3301&STYLES=&WIDTH=%d&HEIGHT=%d&BBOX=%s%%2C%s%%2C%s%%2C%s",
|
|
|
+ selle_pead_ise_uurima,
|
|
|
+ layers[i],
|
|
|
+ png_width,
|
|
|
+ png_height,
|
|
|
+ a00_bb2[1, "left"],
|
|
|
+ a00_bb2[1, "bottom"],
|
|
|
+ a00_bb2[1, "right"],
|
|
|
+ a00_bb2[1, "top"]
|
|
|
+ )
|
|
|
+ output <-
|
|
|
+ sprintf("%s/%s.png", piltide_salvestamise_kataloog, layers[i])
|
|
|
+ str <-
|
|
|
+ sprintf("{ 'URL' : '%s', 'OUTPUT' : '%s' }", url, output)
|
|
|
+ cmd <-
|
|
|
+ ruut::construct_qgis_output_result_to_better_format(str = str, algorithm = algorithm)
|
|
|
+ system(cmd)
|
|
|
+ }
|
|
|
+ DBI::dbDisconnect(conn)
|
|
|
+ }
|
|
|
+# ajalooliste_kaartide_png_allalaadimine(conf = conf)
|