Ardo Kubjas 5 лет назад
Родитель
Сommit
aa1bd61d88
7 измененных файлов с 114 добавлено и 4 удалено
  1. 1 0
      NAMESPACE
  2. 77 0
      R/maaamet_ehak.R
  3. 1 1
      R/maaamet_kaardiruudud.R
  4. 1 1
      R/maaamet_kataster.R
  5. 32 0
      man/maaamet_ehak.Rd
  6. 1 1
      man/maaamet_kaardiruudud.Rd
  7. 1 1
      man/maaamet_kataster.Rd

+ 1 - 0
NAMESPACE

@@ -1,6 +1,7 @@
 # Generated by roxygen2: do not edit by hand
 
 export(inspire_grids)
+export(maaamet_ehak)
 export(maaamet_kaardiruudud)
 export(maaamet_kataster)
 export(osm_shp)

+ 77 - 0
R/maaamet_ehak.R

@@ -0,0 +1,77 @@
+#' Maa-ameti haldus- ja asustusjaotus
+#'
+#' Source: https://geoportaal.maaamet.ee/est/Ruumiandmed/Haldus-ja-asustusjaotus-p119.html . Andmed salvestatakse postgisi andmebaasi. Schema = 'maaamet'. Koniguratsiooni muutmiseks muuda konfiguratsiooni. Muutujate vaikeväärtused on sellised, et ei ole vaja midagi muuta.
+#' @param conf A list() of configuration variables. Default values \code{\link[ruut]{get_config}}.
+#' @return No output.
+#' @seealso [ruut::get_config()], [ruut::copy_shp_to_db()]
+#' @keywords postgis, maps, ESRI Shpfile, OSM
+#' @export
+#' @examples
+#' ## Not run:
+#' ##
+#' ## maaamet_ehak()
+#' ##
+#' ## End(**Not run**)
+maaamet_ehak <- function(conf = NULL) {
+  ans <- utils::askYesNo("Do you want to import maps into database?")
+  if (!ans) {
+    cat("\n------------------------\n")
+    cat("Kaardikihte ei lisatud.")
+    cat("\n------------------------\n")
+  }
+  if (ans) {
+    # Download links
+    urls <- c(
+      "https://geoportaal.maaamet.ee/docs/haldus_asustus/maakond_shp.zip",
+      "https://geoportaal.maaamet.ee/docs/haldus_asustus/omavalitsus_shp.zip",
+      "https://geoportaal.maaamet.ee/docs/haldus_asustus/asustusyksus_shp.zip",
+      "https://geoportaal.maaamet.ee/docs/haldus_asustus/omavalitsus_valispiirini_shp.zip"
+    )
+    # Estonia shapefile (ZIP archive)
+    map_shapefile <- "maaamet_shapefile.zip"
+    # Export to postgis
+    if (is.null(conf)) {
+      conf <- ruut::get_config()
+      conf$schema <- "maaamet"
+    }
+    # New schema
+    ruut::db_create_new_schema(conf = conf)
+    for (j in 1:length(urls)) {
+      # Temp directory
+      tmp_dir <- sprintf("/tmp/maaamet_ehak/%s", j)
+      if (!dir.exists(tmp_dir)) {
+        dir.create(tmp_dir, recursive = T)
+      }
+      # Download and save
+      saveTo <- sprintf("%s/%s", tmp_dir, map_shapefile)
+      utils::download.file(
+        url = urls[j],
+        destfile = saveTo, method = "curl", extra = "-L"
+      )
+      # Unzip
+      utils::unzip(saveTo, overwrite = T, exdir = tmp_dir)
+      # List of files
+      ls <- list.files(path = tmp_dir, pattern = ".dbf")
+      ls_long <- list.files(path = tmp_dir, pattern = ".dbf", full.names = T)
+      tbl_names <- unlist(strsplit(x = ls, split = ".dbf"))
+      # Multi layer
+      for (i in 1:length(tbl_names)) {
+        print(tbl_names[i])
+        conf$table <- gsub("[^[:alnum:]]", "", gsub("[[:digit:]]", "", tbl_names[i]))
+        source <- sprintf('"%s" "%s"', tmp_dir, tbl_names[i])
+        ## Export to postgis database.
+        ruut::copy_shp_to_db(
+          dir = tmp_dir, layer = tbl_names[i], conf = conf,
+          id = "fid", crs_source = "EPSG:3301", crs_target = "EPSG:4326",
+          geometry_type = "POLYGON"
+        )
+        cat(sprintf(
+          "\nShp fail %s kopeeriti POSTGIS andmebaasi %s.%s\n\n",
+          ls[i], conf$schema, conf$table
+        ))
+      }
+      # Delete temp directory
+      # system(sprintf("rm -rf %s/*", tmp_dir))
+    }
+  }
+}

+ 1 - 1
R/maaamet_kaardiruudud.R

@@ -1,6 +1,6 @@
 #' Maa-ameti kaardiruudukesed
 #'
-#' Source: https://www.eea.europa.eu/data-and-maps/data/eea-reference-grids-2. Andmed salvestatakse postgisi andmebaasi. Schema = 'inspire'. Koniguratsiooni muutmiseks muuda konfiguratsiooni. Muutujate vaikeväärtused on sellised, et ei ole vaja midagi muuta.
+#' Source: https://geoportaal.maaamet.ee/est/Ruumiandmed/Kaardilehtede-susteemid-p224.html . Andmed salvestatakse postgisi andmebaasi. Schema = 'maaamet'. Koniguratsiooni muutmiseks muuda konfiguratsiooni. Muutujate vaikeväärtused on sellised, et ei ole vaja midagi muuta.
 #' @param conf A list() of configuration variables. Default values \code{\link[ruut]{get_config}}.
 #' @return No output.
 #' @seealso [ruut::get_config()], [ruut::copy_shp_to_db()]

+ 1 - 1
R/maaamet_kataster.R

@@ -1,6 +1,6 @@
 #' Maa-ameti katasriüksused
 #'
-#' Source: hhttps://geoportaal.maaamet.ee/docs/katastripiirid/paev/KATASTER_EESTI_SHP.zip. Andmed salvestatakse postgisi andmebaasi. Schema = 'inspire'. Koniguratsiooni muutmiseks muuda konfiguratsiooni. Muutujate vaikeväärtused on sellised, et ei ole vaja midagi muuta.
+#' Source: hhttps://geoportaal.maaamet.ee/docs/katastripiirid/paev/KATASTER_EESTI_SHP.zip. Andmed salvestatakse postgisi andmebaasi. Schema = 'maamet'. Koniguratsiooni muutmiseks muuda konfiguratsiooni. Muutujate vaikeväärtused on sellised, et ei ole vaja midagi muuta.
 #' @param conf A list() of configuration variables. Default values \code{\link[ruut]{get_config}}.
 #' @return No output.
 #' @seealso [ruut::get_config()], [ruut::copy_shp_to_db()]

+ 32 - 0
man/maaamet_ehak.Rd

@@ -0,0 +1,32 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/maaamet_ehak.R
+\name{maaamet_ehak}
+\alias{maaamet_ehak}
+\title{Maa-ameti haldus- ja asustusjaotus}
+\usage{
+maaamet_ehak(conf = NULL)
+}
+\arguments{
+\item{conf}{A list() of configuration variables. Default values \code{\link[ruut]{get_config}}.}
+}
+\value{
+No output.
+}
+\description{
+Source: https://geoportaal.maaamet.ee/est/Ruumiandmed/Haldus-ja-asustusjaotus-p119.html . Andmed salvestatakse postgisi andmebaasi. Schema = 'maaamet'. Koniguratsiooni muutmiseks muuda konfiguratsiooni. Muutujate vaikeväärtused on sellised, et ei ole vaja midagi muuta.
+}
+\examples{
+## Not run:
+##
+## maaamet_ehak()
+##
+## End(**Not run**)
+}
+\seealso{
+\code{\link[ruut:get_config]{ruut::get_config()}}, \code{\link[ruut:copy_shp_to_db]{ruut::copy_shp_to_db()}}
+}
+\keyword{ESRI}
+\keyword{OSM}
+\keyword{Shpfile,}
+\keyword{maps,}
+\keyword{postgis,}

+ 1 - 1
man/maaamet_kaardiruudud.Rd

@@ -13,7 +13,7 @@ maaamet_kaardiruudud(conf = NULL)
 No output.
 }
 \description{
-Source: https://www.eea.europa.eu/data-and-maps/data/eea-reference-grids-2. Andmed salvestatakse postgisi andmebaasi. Schema = 'inspire'. Koniguratsiooni muutmiseks muuda konfiguratsiooni. Muutujate vaikeväärtused on sellised, et ei ole vaja midagi muuta.
+Source: https://geoportaal.maaamet.ee/est/Ruumiandmed/Kaardilehtede-susteemid-p224.html . Andmed salvestatakse postgisi andmebaasi. Schema = 'maaamet'. Koniguratsiooni muutmiseks muuda konfiguratsiooni. Muutujate vaikeväärtused on sellised, et ei ole vaja midagi muuta.
 }
 \examples{
 ## Not run:

+ 1 - 1
man/maaamet_kataster.Rd

@@ -13,7 +13,7 @@ maaamet_kataster(conf = NULL)
 No output.
 }
 \description{
-Source: hhttps://geoportaal.maaamet.ee/docs/katastripiirid/paev/KATASTER_EESTI_SHP.zip. Andmed salvestatakse postgisi andmebaasi. Schema = 'inspire'. Koniguratsiooni muutmiseks muuda konfiguratsiooni. Muutujate vaikeväärtused on sellised, et ei ole vaja midagi muuta.
+Source: hhttps://geoportaal.maaamet.ee/docs/katastripiirid/paev/KATASTER_EESTI_SHP.zip. Andmed salvestatakse postgisi andmebaasi. Schema = 'maamet'. Koniguratsiooni muutmiseks muuda konfiguratsiooni. Muutujate vaikeväärtused on sellised, et ei ole vaja midagi muuta.
 }
 \examples{
 ## Not run: