Closed rafapereirabr closed 5 years ago
Oi Rafael, como a função _readstate (e todas as outras) já carrega todos os estados se lhe atribuirmos o parâmetro all (como você já disse), eu não entendi o que a função _readcountry fará, não percebi a diferença entre esta e as outras funções quando especificamos all. Pode detalhar melhor, por favor?
A ideia da função é carregar um shape file com o perímetro do país.
O jeito mais eficiente de fazer isso seria fazer download dos dados de todos estados e depois dissolver as fronteiras entre estados
Rafael H.M. Pereira
On 24 Jun 2019, at 11:27, Guilherme notifications@github.com wrote:
Oi Rafael, como a função read_state (e todas as outras) já carrega todos os estados se lhe atribuirmos o parâmetro all (como você já disse), eu não entendi o que a função read_country fará, não percebi a diferença entre esta e as outras funções quando especificamos all. Pode detalhar melhor, por favor?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.
Fazendo o download de todos os estados, e depois dissolvendo as fronteiras, estava demorando muito tempo (coisa de vários minutos). No FTP do IBGE existe o shape do Brasil, creio que seja mais eficiente remover as fronteiras carregando um shape de uma vez. Um problema que eu encontrei (e que ainda não achei a solução) foi que o mapa (após utilizar a função _stunion ), ainda fica com algumas linhas, conforme abaixo (mapa gerado pelo mapview):
Usando o shape do Brasil de 2018 o problema foi resolvido!
Eh, o st_union
nao funciona muito bem ainda. Acho que a sua sugestao vai ser mais facil e rapida de implementar mesmo
Eu acabei fazendo da forma que você disse. O st_union não funciona bem nos anos: 2000, 2001, 2014 e 2015, mesmo se eu usar o shape do Brasil, então a função vai travar ou carregar algumas linhas, se o usuário especificar qualquer um desses anos.
Não sei se alguém já notou isto, mas a função read_state não funciona se o pacote DataTable estiver carregado. Como a minha função foi escrita editando a read_state, ela está com a mesma incompatibilidade.
Não sei se alguém já notou isto, mas a função read_state não funciona se o pacote DataTable estiver carregado. Como a minha função foi escrita editando a read_state, ela está com a mesma incompatibilidade.
Resolvi. Era só transformar o metadata.rds para data.frame
(sem data.table
)
A operação st_union
demora muito mesmo. O ideal seri que o usuário não tivesse que rodar ela toda vez que chama a função.
Então eu peguei o seu código e criei um script prep_country
para gerar os arquivos de sf
do Brasil pra todos anos e salvar esses dados no nosso servidor.
Agora, quando o usuário chama a função, read_country
, a função simplesmente faz o download do arquivo que já está pronto.
Função read_country
já funcionando!
Adicionar função
read_country
. Que envolve