curso-r / munifacil

Ajuda a recuperar códigos do IBGE dos municípios do Brasil
https://curso-r.github.io/munifacil/
Other
13 stars 2 forks source link

Poderia incluir a latitude e longitude na função `incluir_codigo_ibge`? #9

Open denis-or opened 2 years ago

denis-or commented 2 years ago

Oi pessoal.

Acabei de usar o pacote e achei bem interessante e ganhei um passo na arrumação de banco de dados. Entretanto, senti falta das colunas de latitude e longitude do município. Poderiam incluir? Acho que o geobr tem algo que pode ser útil:

coords <- geobr::read_municipality(year = 2020) |> sf::st_centroid() |> sf::st_coordinates() |> as.data.frame()

denis-or commented 2 years ago

Em 2021 teve alteração nos limites municipais. Atualmente são 5572 municípios. O IBGE tem o arquivo shapefile disponível neste link: https://www.ibge.gov.br/geociencias/organizacao-do-territorio/malhas-territoriais/15774-malhas.html?=&t=downloads

Seguir o caminho: -> municipio_2021 -> Brasil -> BR -> Br_municipios_2021.zip

O arquivo shapefile é um polígono. Usei os códigos abaixo pra extrair as coordenadas:

brasil_coordenadas <- shape_brasil |> sf::st_point_on_surface() |> sf::st_coordinates()

brasil_alterado <- brasil |> as.data.frame() |> dplyr::select(-geometry) |> dplyr::mutate(x = brasil_coordenadas[, 1], y = brasil_coordenadas[, 2]) O csv está anexo, caso seja útil.

brasil_coordenadas_2021.csv

beatrizmilz commented 7 months ago

@denis-or Oi Denis! Tudo bem? Primeiro, muito obrigada pelas sugestões (com código e tudo para acelerar a vida).

Por um lado.... é uma ideia legal!! Pensei aqui, e para não alterar o comportamento das funções já existentes, poderia existir uma função extra que faz isso (a partir do ID do município). Algo como: incluir_lat_long(dados, col_id_municipio = "id_municipio"). Faz sentido?

base_exemplo |>
  limpar_colunas(col_muni = municipio,
                 col_uf = uf) |>
  incluir_codigo_ibge() |>
  incluir_lat_long()

Por outro lado, fico pensando se não foge um pouco do escopo do pacote. O pacote foi criado pelo @azeloc e @jtrecenti . Qual é a opinião de vocês?

denis-or commented 7 months ago

@beatrizmilz eu que agradeço pelo pacote. Nos poupa linhas no código e tempo. Sobre as coordenadas eu penso que quando a base for cruzada, junto com as demais colunas que são apendadas à base pós join, as duas das coordenadas do centróide também seriam. Mas é uma lógica a se pensar mesmo.

Incluir uma nova função fica muito interessante também, pois dá liberdade ao usuário inserir as coordenadas ou não. Apenas se ele quiser.