Closed kauebraga closed 2 years ago
Fiz um gist com uma proposta inicial:
https://gist.github.com/mvpsaraiva/7a929bd1415d35899990bcad52ad47fa
Otimo! Só tem que acomodar agora que as algumas cidades são na verdades RMs com varios municipio.
Otimo! Só tem que acomodar agora que as algumas cidades são na verdades RMs com varios municipio.
Isso... nesse caso, a ideia é adicionar uma linha em metro_munis
pra cada município da RM, com o code_muni
de cada município. Aí, todos municípios da RM ficam indexados pelo abrev_muni
do município principal.
Inclusive, um município pode entrar sozinho em um ano e como parte de uma RM em outro.
Exato. Eu acho que é essa a estrutura. Eu acho também que vale a pena colocar tudo dentro uma lista principal, pra não poluir tanto a aba de data.frames. O mais chato vai ser substituir o munis_df em cada um dos scripts do projeto.
Dentro de uma lista, eu imagino que pra extrair os code_muni
necessários a partir de um abrev_muni
seria mais ou menos assim (assumindo que vão ter argumentos sigla_muni
e ano
na função):
codes_muni <- munis_df$metro_munis[abrev_muni == sigla_muni, ano == ano]$code_muni %>% stringr::str_split(",") %>% unlist()
Esse passo só vai ser necessário nas funções de variáveis demográficas/uso do solo e na criação dos hexágonos, acho. Depois, vai ser tudo baseado no sigla_muni
que já vai tá com todos os municípios certinho.
Também vai ser necessário fazer algumas modificações na parte do modo de transporte, mas isso vai ser mais no script de roteamento.
Vou fazer as modificações e dar um push no código pra gente discutir na terça. Mando antes pro @mvpsaraiva dar uma olhada!
Joia. Eu tinha pensado em fazer algo assim, mas me digam se tem uma maneira melhor de fazer isso:
library(sf)
library(geobr)
library(data.table)
# get metro areas
metro <- read_metro_area()
# metro areas in the project
metro_goi <- subset(metro, name_metro %like% 'Goiânia')
# list of munis of our metro areas
df_metro <- setDT(metro_goi)[, .(list_code_muni = paste0(code_muni, collapse = '|')), by=name_metro ]
# test query
munis <- read_municipality()
query <- subset(munis, code_muni %like% df_metro$list_code_muni)
Tables teste essa alternativa usando list()
, mas nao deu certo
df_metro2 <- setDT(metro_goi)[, .(list_code_muni = list(code_muni)), by=name_metro ]
subset(munis, code_muni %in% df_metro2$list_code_muni)
subset(munis, code_muni %like% df_metro2$list_code_muni)
Joia. Eu tinha pensado em fazer algo assim, mas me digam se tem uma maneira melhor de fazer isso:
Eu acho que a lista de municípios na RM tem que ser feita manualmente, pq não necessariamente o GTFS vai cobrir a RM inteira do jeito q ela vem do geobr
. Podemos usar esse código pra pegar a lista de cidades, mas depois temos q conferir pra ver se vai ser necessário remover ou adicionar alguma cidade.
Pronto. Deem uma olhada aqui: https://github.com/ipeaGIT/acesso_oport/commit/d1d615a875ff10a56eec582e76e32305e47dabc4
Fiz um Pull Request do primeiro script. Agora tem que ir atualizando todos os outros scripts pra acessar o munis_df
de dentro do munis_list
.
Podemos fechar isso? Acho que agora só falta acertar e substituir o munis_list
nos códigos.
Vocês ja implementaram as adaptacoes nos códigos do capitulo 1 para checar se a nova estrutura está funcionando?
Deve estar tudo funcionando agora. Detalhes:
- Falta baixar a parte de topografia da RM de Goiânia (essa é com vc, @mvpsaraiva) e então organizar nas pastas
Essa eu tive que conferir, pois não lembrava direito. Já baixei a topografia da RM de Goiânia. O arquivo já está salvo na pasta topografia3
(acho que podemos apagar as pastas topografia
e topografia2
). O arquivo .pbf
da malha viária também já cobre a RM inteira.
Então o arquivo de topografia de goi
que tá lá na topografia3
é da RM de Goiânia, né?
Vou deletar todas as pastas desnecessárias e passar essa pasta topografia3
pro data-raw (já que são dados não tratados)
Então o arquivo de topografia de
goi
que tá lá natopografia3
é da RM de Goiânia, né? Vou deletar todas as pastas desnecessárias e passar essa pastatopografia3
pro data-raw (já que são dados não tratados)
Ok!
Acho que esse commit https://github.com/ipeaGIT/acesso_oport/commit/8429a29dd2247b288ee07c05647f21139b919857 termina de fazer a adaptação. Uma coisa pra discutir é como a gente vai fazer com a base final. Hoje, a gente disponibiliza a base final com todas as informações do município: nome, uf, sigla e código do município. Com a incorporação dos munis das RM, como ficaria o código do município? Eu vejo duas opções:
code_muni
para o mesmo sigla_muni
;
Considerar queo shape do municipio e o modo de transporte de cada cidade pode mudar a cada ano