# -*- encoding: utf-8 -*-
## --- funciones para generar KML puntos seguimiento ---
source("c:/eddy/code/r/magkml/tests/segut.r", encoding = "UTF-8")
## <<- directorio del mes ->>
#' directorio según avance: nombres productor, finca, etc.
#' más los controles de cuestionario: rechazos, pendientes, etc.
#' más datos complementarios
#' se juntan en data.frame DFM y se guardan en archivo ADA
#' !!! modificar si cambiaran
cam <- c("quest", "c5000", "copiade", "nombreproductor", "c002",
"c003", "telefono", "ciudadlocal", "ptoreferencia",
"dir_productor", "c004", "c005", "name_expagrp",
"ciudadfinca", "ptoreffinca", "dir_explagrop", "nombretec")
#' leer de base de datos SQL
z <- datos_directorio(cam)
y <- datos_complementarios() #!!! a conveniencia
z %<>% left_join(y)
meta(z) <- glue::glue("directorio-{AME}") # metadatos data.frame
save_df(z, DFM, file = ADA)
## <<- prepara los datos de los puntos ->>
## !! sustituto para pruebas
giro <- c("agrícola", "pecuario", "forestal", "inactiva")
z <- get_dff(d04, "c:/encuestas/ciclo2021/datos/abr2021.rda") %>%
mutate(c5000 = cero_na(c5000),
ccontrol = names(CCC)[c5000],
copiade = sub("([^[:digit:]]|\\b)+", "0", copiade),
copiade = type.convert(copiade, na.string = "0"),
munprod = magmun::concatenar_int(c002, c003),
dptprod = match_sustituir(munprod, muni$mun,
muni$departamento),
munprod = match_sustituir(munprod, muni$mun,
muni$municipio),
munfinca = magmun::concatenar_int(c004, c005),
dptfinca = match_sustituir(munfinca, muni$mun,
muni$departamento),
munfinca = match_sustituir(munfinca, muni$mun,
muni$municipio),
giro = match_sustituir(c050, 1:4, giro)) %>%
rename(localidad = "ciudadlocal",
finca = "name_expagrp",
dirfinca = "dir_explagrop")
##
#' datos leídos de base de datos se asocian a los puntos (coordenadas)
#' para visualización espacial
## z <- get_dff(DFM, ADA) # leídos de base de datos
read_off(pun, file = KML) # coordenadas y asig. municipios
x <- datos_puntos(z, sf::st_drop_geometry(pun))
#' !!! ajuste a datos complementarios si punto no se ha ubicado
x["giro"] <- match_sustituir(x$punto, z$quest, z$giro,
si_na = "n.d")
## <<- construir nodos KML ->>
## -- resumen de avance delegación y nacional --
## folder cuyos placemark son las delegaciones
## más el placemark "nacional"
pd <- nodos_delegaciones(x, "html_del")
pn <- nodo_nacional(x, "html_nac")
er <- estilos_resumen()
km <- kml_resumen_nac(pd, pn,
es = er,
file.path(WK, "ava-del.kml"))
## --- resumen delegación y puntos delegación ---
## placemark para cada punto más el de la delegación
## los puntos agrupados en folder por municipio
## para agregar imágenes? ponerlas en description y luego referenciar
## la description en nodo text
#' prepara los datos de los puntos
#' href de estilos de los puntos
es <- estilos_puntos_dele()
hr <- paste0("#", names(es)[-1])
hr <- match_sustituir(x$punto, z$quest, hr[z$c5000], si_na = "#pend")
#' LookAt: punto de vista cuando se visualice el punto
xy <- coord_lista(pun)
nk <- lapply(xy, node_look, alt = 100L, rng = 1000L, tlt = 13L)
#' description ??
#' variables que se visualizarán en "balloon"
#' delegación es departamento al que está asignado adm. el punto
#' departamento y municipio es donde ubicada la UP
cc <- c("delegacion", "tecnico", "control", "departamento", "municipio",
"localidad", "finca", "dirfinca", "giro")
#' displayName
dn <- list(delegacion = "Delegación",
tecnico = "Técnico",
control = "Control",
departamento = "Departamento",
municipio = "Municipio",
localidad = "Localidad",
finca = "Finca",
dirfinca = "Dirección",
giro = "Giro")
w <- data.frame(name = x$punto,
municipio = x$municipio, #split
visibility = 1L,
styleUrl = hr,
ExtendedData = datos_lista(x, cc) %>% I,
LookAt = I(nk),
coordinates = I(xy))
## alinear pd en orden con split(w, delegaciones)
## (aparentemente no hay necesidad porque orden alfabético)
## lista de nombres de archivos en mismo orden
## usar pmap para generar todos los archivos
tic()
plan(multisession, workers = 4)
#' !! prueba
pd <- nodos_delegaciones(x, "html_del2", por_mun = TRUE)
ww <- split(w, x$delegacion)
## aa <- ww[["Granada"]]
## fc <- folder_delegacion(aa, "Granada", pd[["GR"]],
## file = file.path(WK, "granada.kml"),
## display = dn,
## estilos = es, visibility = 1L)
ff <- lapply(paste0(names(ww), ".kml"),
function(x) file.path(WK, x))
furrr::future_pwalk(list(ww, names(ww), pd, ff), folder_delegacion,
display = dn, estilos = es, visibility = 1L)
toc()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.