Просмотр исходного кода

Muudatused 'maaamet_aadressandmed'

Ardo Kubjas 5 лет назад
Родитель
Сommit
a131e9ffa7
4 измененных файлов с 140 добавлено и 60 удалено
  1. 68 0
      .Rhistory
  2. 31 6
      R/maaamet_aadressandmed.R
  3. 41 4
      man/grapes-greater-than-grapes.Rd
  4. 0 50
      man/maaamet_aadressandmed.Rd

+ 68 - 0
.Rhistory

@@ -2,3 +2,71 @@ setwd(paste0("/home/ardo/apps/R/packages/", new_pkg_name))
 new_pkg_name <- "estmap"
 setwd(paste0("/home/ardo/apps/R/packages/", new_pkg_name))
 document()
+styler:::style_active_file()
+library(estmap)
+estmap::maaamet_ortofotod(epk10t = 54711)
+library(estmap)
+estmap::maaamet_ortofotod(epk10t = 54711)
+estmap::maaamet_ortofotod(epk10t = 54711)
+estmap::maaamet_ortofotod(epk10t = 54711)
+estmap::maaamet_ortofotod(epk10t = 54711)
+library(estmap)
+estmap::maaamet_ortofotod(epk10t = 54711)
+ls_long[6]
+conf = NULL
+# Temp directory
+tmp_dir <- "/tmp/maaamet_aadressandmed"
+if (!dir.exists(tmp_dir)) {
+dir.create(tmp_dir)
+}
+# Download link
+url <- "https://xgis.maaamet.ee/adsavalik/valjav6te/"
+# Estonia shapefile (ZIP archive)
+map_shapefile <- "aadressandmed.zip"
+# Download and save
+# Aadressandmete õige lingi tuvastamine
+adsavalik <- jsonlite::fromJSON(url)
+url_download <- sprintf("%s%s", url, adsavalik$fail[which(adsavalik$vvnr == 1 & is.na(adsavalik$kov))])
+saveTo <- sprintf("%s/%s", tmp_dir, map_shapefile)
+if (!file.exists(saveTo)) {
+utils::download.file(
+url = url_download,
+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"))
+# Export to postgis
+if (is.null(conf)) {
+conf <- ruut::get_config()
+conf$schema <- "maaamet"
+conf$table <- "aadressandmed"
+}
+# New schema
+ruut::db_create_new_schema(conf = conf)
+# List of files
+ls <- list.files(path = tmp_dir, pattern = ".csv")
+ls_long <- list.files(path = tmp_dir, pattern = ".csv", full.names = T)
+tbl_names <- unlist(strsplit(x = ls, split = ".csv"))
+# Multi layer
+for (i in 1:length(tbl_names)) {
+print(tbl_names[i])
+conf$table <- 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 = "POINT"
+)
+cat(sprintf(
+"\nShp fail %s kopeeriti POSTGIS andmebaasi %s.%s\n\n",
+ls[i], conf$schema, conf$table
+))
+}
+tbl_names[i]
+library(estmap)

+ 31 - 6
R/maaamet_aadressandmed.R

@@ -16,6 +16,8 @@
 #' - ETAKER	eluruum   		8	ehitisregister
 #' - ADSMR	mitteeluruum	8	ehitisregister
 #' - ADS
+#' @importFrom magrittr %>%
+#' @name %>%
 #' @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()]
@@ -76,29 +78,52 @@ maaamet_aadressandmed <- function(conf = NULL) {
     # testx <- read.csv(file = "/tmp/maaamet_aadressandmed/xxxx.csv", nrows = 10,sep = ",")
 
     # Versioon 1 kokkupakkimisest
+    # vignette("readr")
+    # vignette("locales")
     dataset <- list.files(
       path = "/tmp/maaamet_aadressandmed",
-      pattern = "*.csv",
+      # pattern = "*.csv",
+      pattern = "*505*",
       full.names = T
     ) %>%
       purrr::map_df(~ readr::read_csv2(.,
+        col_types = readr::cols(
+          TASE3_KOOD = readr::col_character(),
+          TASE4_KOOD = readr::col_skip(),
+          TASE4_NIMETUS = readr::col_skip(),
+          TASE4_NIMETUS_LIIGIGA = readr::col_skip(),
+          TASE5_KOOD = readr::col_skip(),
+          TASE5_NIMETUS = readr::col_skip(),
+          TASE5_NIMETUS_LIIGIGA = readr::col_skip(),
+          TASE6_KOOD = readr::col_skip(),
+          TASE6_NIMETUS = readr::col_skip(),
+          TASE6_NIMETUS_LIIGIGA = readr::col_skip(),
+          TASE7_KOOD = readr::col_skip(),
+          TASE7_NIMETUS = readr::col_skip(),
+          TASE7_NIMETUS_LIIGIGA = readr::col_skip(),
+          TASE8_KOOD = readr::col_skip(),
+          TASE8_NIMETUS = readr::col_skip(),
+          TASE8_NIMETUS_LIIGIGA = readr::col_skip(),
+          HOONE_OID = readr::col_skip()
+        ),
         skip = 0,
         col_names = T,
         na = character(),
         quote = "\"",
-        # n_max = 100,
-        locale = locale(
+        # trim_ws = TRUE,
+        # n_max = 20,
+        locale = readr::locale(
           date_names = "et", # date_names_langs()
           date_format = "%d.%m.%Y %H:%M:%S",
           time_format = "%H:%M:%S",
           decimal_mark = ",",
           grouping_mark = "",
-          tz = "Europe/Tallinn",
+          tz = "UTC",
           encoding = "ISO-8859-4",
           asciify = FALSE
-        ) # default_locale()
+        ) # readr::default_locale()
       ))
-
+    # write.csv(x = dataset, file = "/tmp/maaamet_aadressandmed/xxxx.csv", row.names = F)
     # Versioon 2 kokkupakkimisest
     # dataset <- do.call("rbind", lapply(ls_long[1:5], FUN = function(files) {
     #   read.csv(files, sep = ";", dec = ",", stringsAsFactors = F, nrows = 2)

+ 41 - 4
man/grapes-greater-than-grapes.Rd

@@ -1,34 +1,71 @@
 % Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/maaamet_ortofotod.R
+% Please edit documentation in R/maaamet_aadressandmed.R, R/maaamet_ortofotod.R
 \name{\%>\%}
 \alias{\%>\%}
+\alias{maaamet_aadressandmed}
 \alias{maaamet_ortofotod}
-\title{Maa-ameti ortofotod}
+\title{Maa-ameti aadressandmed}
 \usage{
+maaamet_aadressandmed(conf = NULL)
+
 maaamet_ortofotod(epk10t = NULL, dir = "~/ortofotod", conf = NULL)
 }
 \arguments{
+\item{conf}{A list() of configuration variables. Default values \code{\link[ruut]{get_config}}.}
+
 \item{epk10t}{5-kohaline number, mis vastab kaardi 1:10 000 ruudu numbrile \url{https://geoportaal.maaamet.ee/est/ruumiandmed/kaardilehtede-susteemid-p224.html}.}
 
 \item{dir}{GEOTIFF failide salvestamise kataloog.}
-
-\item{conf}{A list() of configuration variables. Default values \code{\link[ruut]{get_config}}.}
 }
 \value{
+No output.
+
 GEOTIFF file.
 }
 \description{
+Source: \url{https://xgis.maaamet.ee/adsavalik/valjav6te/}. Andmed salvestatakse postgisi andmebaasi. Schema = 'maamet'. Koniguratsiooni muutmiseks muuda konfiguratsiooni. Muutujate vaikeväärtused on sellised, et ei ole vaja midagi muuta. Kehtivad ja ootel olekus aadressiobjektid ning nendega seotud aadressid. Kui objektil on enam kui 1 aadress, siis esineb ta väljavõttes enam kui 1 kord. Samuti esinevad aadressid väljavõttes mitu korda, kui nad on seotud mitme objektiga.
+
 Maa-ameti ortofotode allalaadimine. Andmestruktuur: raster. Mõõtkava 1:10 000 (vaata ruudustiku infot \url{https://geoportaal.maaamet.ee/est/ruumiandmed/kaardilehtede-susteemid-p224.html}). Loe: \url{https://geoportaal.maaamet.ee/est/andmed-ja-kaardid/ortofotod-p99.html}. Andmed salvestatakse kataloogi (default = '~/ortofotod'). Eesti topokaardistuse tarbeks toodetud ortofotodes on piksli suurusega 20-40 cm ja katavad kogu riigi territooriumi. Andmete kasutamisel palume viidata Maa-ametile. Näiteks: 'Ortofoto, Maa-amet 2021'. Käsitsi allalaadimine /url{https://geoportaal.maaamet.ee/index.php?lang_id=1&page_id=610}.
 }
+\details{
+ADOB_LIIK:
+Aadressiobjekti liigid (Kood, Nimetus, UnikInit, taseOrig, register)
+\itemize{
+\item MK	maakond           1	maaregister
+\item OV	omavalitsus   	  2	maaregister
+\item AY	asustusüksus    	3	maaregister
+\item LO	linnaosa    		  3	maaregister
+\item VK	väikekoht   		  4	kohanimeregister
+\item LP	liikluspind   	  5	kohanimeregister
+\item CU	maaüksus		      6,7	maaregister
+\item EE	elukondlik hoone	6,7	ehitisregister
+\item ETAKME	mitteelukondlik hoone	6,7	ehitisregister
+\item ETAKER	eluruum   		8	ehitisregister
+\item ADSMR	mitteeluruum	8	ehitisregister
+\item ADS
+}
+}
 \examples{
 ## Not run:
 ##
+## maaamet_aadressandmed()
+##
+## End(**Not run**)
+## Not run:
+##
 ## maaamet_ortofotod()
 ##
 ## End(**Not run**)
 }
 \seealso{
+\code{\link[ruut:get_config]{ruut::get_config()}}, \code{\link[ruut:copy_shp_to_db]{ruut::copy_shp_to_db()}}
+
 \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{maa-amet,}
+\keyword{maps,}
 \keyword{ortofoto}
+\keyword{postgis,}

+ 0 - 50
man/maaamet_aadressandmed.Rd

@@ -1,50 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/maaamet_aadressandmed.R
-\name{maaamet_aadressandmed}
-\alias{maaamet_aadressandmed}
-\title{Maa-ameti aadressandmed}
-\usage{
-maaamet_aadressandmed(conf = NULL)
-}
-\arguments{
-\item{conf}{A list() of configuration variables. Default values \code{\link[ruut]{get_config}}.}
-}
-\value{
-No output.
-}
-\description{
-Source: \url{https://xgis.maaamet.ee/adsavalik/valjav6te/}. Andmed salvestatakse postgisi andmebaasi. Schema = 'maamet'. Koniguratsiooni muutmiseks muuda konfiguratsiooni. Muutujate vaikeväärtused on sellised, et ei ole vaja midagi muuta. Kehtivad ja ootel olekus aadressiobjektid ning nendega seotud aadressid. Kui objektil on enam kui 1 aadress, siis esineb ta väljavõttes enam kui 1 kord. Samuti esinevad aadressid väljavõttes mitu korda, kui nad on seotud mitme objektiga.
-}
-\details{
-ADOB_LIIK:
-Aadressiobjekti liigid (Kood, Nimetus, UnikInit, taseOrig, register)
-\itemize{
-\item MK	maakond           1	maaregister
-\item OV	omavalitsus   	  2	maaregister
-\item AY	asustusüksus    	3	maaregister
-\item LO	linnaosa    		  3	maaregister
-\item VK	väikekoht   		  4	kohanimeregister
-\item LP	liikluspind   	  5	kohanimeregister
-\item CU	maaüksus		      6,7	maaregister
-\item EE	elukondlik hoone	6,7	ehitisregister
-\item ETAKME	mitteelukondlik hoone	6,7	ehitisregister
-\item ETAKER	eluruum   		8	ehitisregister
-\item ADSMR	mitteeluruum	8	ehitisregister
-\item ADS
-}
-}
-\examples{
-## Not run:
-##
-## maaamet_aadressandmed()
-##
-## 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,}