kelvins / municipios-brasileiros

:house_with_garden: Dados relacionados aos municípios brasileiros
MIT License
1.09k stars 613 forks source link

Adicionar campos DDD e Fuso Horário e Código SIAFI #27

Closed eduardo-mior closed 3 years ago

eduardo-mior commented 3 years ago

Eu acharia interessante adicionar o campo DDD da cidade dentro da pelo motivo de que a partir do DDD nós poderíamos estimar de qual região (conjunto de cidades finitas) aquele número de telefone pertence.

O fuso horário é muito interessante para quem trabalha do lado do server side e precisa gerar um documento com data e hora corretos baseado na cidade do usuário, exemplo, quem é de São Paulo vai gerar o documento baseado no timezone America/Sao_Paulo e quem é de Cuiabá vai gerar com a data e hora baseado no timezone America/Porto_Velho.

O código SIAFI é um código paralelo ao código IBGE e é utilizado por diversos sistemas do governo e diversas prefeituras, então muitas vezes você precisa fazer uma integração com uma prefeitura ou sistema de governo e acaba precisando desse código. Exemplos de sistemas que usam o código IBGE são varias prefeituras do RS, o sistema do Dentran de Pernambuco, Rio Grande do Norte, Sergipe dentre outros.

Dump do meu banco de dados em formato SQL com todas as informações reunidas: https://pastebin.com/6w2Jn8qw

kelvins commented 3 years ago

Olá @eduardo-mior, obrigado por abrir a issue. Por sinal, não conhecia o código SIAFI, achei bem interessante.

Como os dados disponibilizados estão mais relacionados a geolocalização, eu sinceramente não sei até que ponto vale a pena incluir as informações sugeridas. A questão da timezone eu achei interessante mas me parece que o DDD e o código SIAFI são informações mais específicas que talvez fogem um pouco do objetivo do repo.

De qualquer forma acho válido a discussão, inclusive seria legal se tivéssemos opiniões de mais pessoas sobre esse assunto.

Valeu

eduardo-mior commented 3 years ago

Obrigado pela resposta, o DDD eu até concordo que é mais específico, mas o código SIAFI é como se fosse um código paralelo ao código do IBGE que é usado por várias prefeituras e sistemas do governo. O código SIAFI tem outro nome também, só não lembro qual é, então talvez você já tinha ouvido falado só não se lembre. Mas mesmo assim obrigado.

Otoru commented 3 years ago

Já tinha pensando na inclusão de informações como DDD e área local das cidades, mas não o sugeri justamente por compactuar com a opinião apresentada pelo @kelvins .

eduardo-mior commented 3 years ago

Se fosse parar pra pensar teria diversas informações que daria pra colocar, porém poucas são úteis, pensei em colocar microrogiões, macrorregiões e outras diversas, mas são inúteis, eu comentei do código SIAFI, do DDD e do timezone porque são informações que realmente são úteis igual eu citei anteriormente, mas tudo isso depende de cada projeto, eu acho que no fim das contas o melhor ainda seria gerar um DUMP personalizado onde o usuário consiga escolher quais informações ele quer baixar, tem projetos que só o nome já seria suficiente por exemplo.

Otoru commented 3 years ago

Não sei o porque, mas na minha cabeça o timezone fez bastante sentido

kelvins commented 3 years ago

Concordo que teriam diversas informações que poderiam ser incluídas porém algumas não são realmente tão úteis e outras fogem um pouco do escopo do projeto. Também acredito que ficaria extremamente difícil de manter uma base de dados atualizada se optássemos por incluir diversas informações no mesmo local.

Segue um resumo de cada ponto e minha opinião pessoal:

Timezone:

A time zone is a region of the globe that observes a uniform standard time for legal, commercial and social purposes. Time zones tend to follow the boundaries of countries and their subdivisions instead of strictly following longitude because it is convenient for areas in close commercial or other communication to keep the same time.

Acredito que timezone seja uma informação importante, que pode ser utilizada por vários sistemas e tem, de certa forma, uma relação com geolocalização.

SIAFI:

Sistema Integrado de Administração Financeira do Governo Federal – SIAFI é um sistema contábil que tem por finalidade realizar todo o processamento, controle e execução financeira, patrimonial e contábil do governo federal brasileiro.

Entendo que cada município tem um código SIAFI (assim como um código IBGE) mas acredito que isso está muito mais relacionado com contabilidade, sendo que é um sistema de controle financeiro do governo, do que com geolocalização. Acredito que teria pouco uso dessa informação e foge um pouco do contexto do projeto.

DDD:

A discagem direta a distância (DDD) é o sistema adotado para discagem interurbana automática através da inserção de prefixos regionais e posteriormente de operadoras de longa distância e que se tornou possível graças à automação dos sistemas de telefonia.

Na minha opinião o DDD é uma informação que está indiretamente relacionada com a localização, uma vez que os prefixos correspondem a regiões do país mas é uma informação voltada para sistemas de telefonia e não específicamente de localização.

Resumindo:

O Timezone eu acho válido incluir (fique a vontade para abrir um PR com isso se quiser/puder :grin:). O código SIAFI e o DDD eu ainda não tenho certeza. Eu pessoalmente não incluiria, pelo menos por agora. Uma sugestão seria criar issues separadas para cada ponto e incluir uma tag de question para saber se mais gente teria interesse nesse tipo de informação.

dionatamsouza commented 3 years ago

Outra idéia é criar outros datasets para manter estes dados alternativos e relacioná-los pelo código IBGE.

pedrounes1 commented 3 years ago

Eu estou trabalhando com a base de dados do CNPJ e estou cruzando elas com as informações do IBGE. Nesse exato momento, enquanto estou baixando o CSV com a geolocalização dos municípios, estava tentando entender a origem do código de município utilizado no banco de dados do CNPJ e me deparei com essa discussão sobre o SIAFI.

Pro meu projeto eu irei unir as duas bases de qualquer maneira, então se for do interesse de vocês, posso disponibilizar o SIAFI relacionado com o código IBGE, assim como o @dionatamsouza sugeriu.

eduardo-mior commented 3 years ago

@pedrounes1 na minha empresa já fizemos esse trabalho de cruzar essas informações do código SIAFI, além disso também baixamos a base de dados da Anatel pra incrimentar o DDD da cidade baseado no código do IBGE e o timezone eu inseri na mão porque não achei nenhuma base pronta. Concordo com o @kelvins é muito complicado manter essas bases atualizadas, por isso na empresa criamos um bot que busca e mantém esses dados atualizados na API do IBGE, porém o SIAFI e o DDD a gente tem que fazer não mão.

kelvins commented 3 years ago

Bom, como já surgiu mais gente usando o código SIAFI acho válido a inclusão dele também, como sugerido inicialmente pelo @eduardo-mior. O DDD não sei se é uma informação tão relevante, mas não tenho nenhum ponto forte contra incluir ele também, se quiser incluir por mim é de boa também.

@eduardo-mior ou @pedrounes1 como vocês já tem estes dados estruturados seria legal se um de vocês pudesse abrir um PR para incluir isso :grin:

eduardo-mior commented 3 years ago

Estou sem tempo para abrir um PR, mas posso lhe disponibilizar a minha base de dados que contém todas essas informações, oque você acha @kelvins ?

pedrounes1 commented 3 years ago

Hoje eu voltei a mexer no meu projeto da base de CNPJ e consegui separar um tempo pra gerar os arquivos com o siafi_id. Fiz isso e mandei um PR. Também acho interessante ter o DDD, mas não tenho essa informação nos dados que tenho disponível no momento. @eduardo-mior se você tiver esses dados atualizados, posso juntar as informações e disponibilizar

eduardo-mior commented 3 years ago

@pedrounes1 essa é minha base de dados com todas as informações cruzadas, DDD, Siafi e Fuso Horário https://pastebin.com/6w2Jn8qw

eduardo-mior commented 3 years ago

@kelvins só falta aceitar o PullRequest do @pedrounes1 para fechar a issue! Acredito que esta tudo certo!

kelvins commented 3 years ago

Boa, valeu galera por todas as sugestões e pelo esforço de incluir as alterações :hugs: