Nothing
#' Baixa os dados de precariedade viaria
#'
#' Esta funcao realiza o download dos dados espaciais em formato Parquet
#' hospedados no Zenodo. Os arquivos sao salvos no diretorio de cache
#' do usuario para evitar downloads repetidos.
#'
#' @param uf Sigla do estado (ex: "RS"), ou "all" para o Brasil inteiro. Padrao "all".
#' @return O caminho do arquivo ou diretorio no cache local.
#' @export
#' @examples
#'
#' caminho_ac <- download_precvias("AC")
#'
download_precvias <- function(uf = "all") {
uf <- toupper(uf)
estados_validos <- c("AC", "AL", "AP", "AM", "BA", "CE", "DF", "ES", "GO",
"MA", "MT", "MS", "MG", "PA", "PB", "PR", "PE", "PI",
"RJ", "RN", "RS", "RO", "RR", "SC", "SP", "SE", "TO")
cache_dir <- tools::R_user_dir("precviasBR", which = "cache")
if (!dir.exists(cache_dir)) dir.create(cache_dir, recursive = TRUE)
if (uf == "ALL") {
message("Iniciando download da malha nacional...")
for (estado in estados_validos) {
download_precvias(estado)
}
return(cache_dir)
}
if (!uf %in% estados_validos) {
stop("UF invalida. Use a sigla de dois caracteres (ex: 'RS') ou 'all' (para o pais todo).")
}
arquivo_destino <- file.path(cache_dir, sprintf("malha_precariedade_%s.parquet", uf))
if (file.exists(arquivo_destino) && file.size(arquivo_destino) > 1000) {
return(arquivo_destino)
}
url_zenodo <- sprintf("https://zenodo.org/records/19711448/files/malha_precariedade_%s.parquet?download=1", uf)
message(sprintf("Baixando dados para %s do Zenodo...", uf))
tryCatch({
utils::download.file(url_zenodo, arquivo_destino, mode = "wb", quiet = TRUE)
if (file.size(arquivo_destino) < 1000) {
file.remove(arquivo_destino)
stop("O arquivo baixado parece invalido ou corrompido.")
}
}, error = function(e) {
if (file.exists(arquivo_destino)) file.remove(arquivo_destino)
stop(sprintf("Falha ao baixar %s. Verifique sua conexao ou o repositorio.", uf))
})
return(arquivo_destino)
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.