GithubHelp home page GithubHelp logo

kelvins / municipios-brasileiros Goto Github PK

View Code? Open in Web Editor NEW
1.1K 61.0 608.0 2.38 MB

:house_with_garden: Dados relacionados aos municípios brasileiros

License: MIT License

Python 100.00%
sql uf latitude longitude municipios codigo-ibge municipios-brasileiros csv estados dados

municipios-brasileiros's Introduction

Municípios Brasileiros Build Status

Arquivos SQL, CSV e JSON contendo o código IBGE, nome do município, capital, código UF, UF, estado, latitude, longitude, código SIAFI, DDD e fuso horário de todos (ou quase todos) os municípios brasileiros. Total de 5.570 registros.

Exemplos

Dados

Código IBGE Nome do Município Código UF UF Estado Capital Latitude Longitude Região Código Siafi DDD Fuso Horário
5200050 Abadia de Goiás 52 GO Goiás 0 -16.7573 -49.4412 Centro-Oeste 1050 62 America/Sao_Paulo
3100104 Abadia dos Dourados 31 MG Minas Gerais 0 -18.4831 -47.3916 Sudeste 4001 34 America/Sao_Paulo
5200100 Abadiânia 52 GO Goiás 0 -16.1970 -48.7057 Centro-Oeste 9201 62 America/Sao_Paulo
3100203 Abaeté 31 MG Minas Gerais 0 -19.1551 -45.4444 Sudeste 4003 37 America/Sao_Paulo
4314902 Porto Alegre 43 RS Rio Grande do Sul 1 -30.0318 -51.2065 Sul 8801 51 America/Sao_Paulo
5106752 Pontes e Lacerda 51 MT Mato Grosso 0 -15.2219 -59.3435 Centro-Oeste 8999 65 America/Porto_Velho

Exemplo SQL

Estados

CREATE TABLE estados(
    codigo_uf INT NOT NULL,
    uf VARCHAR(2) NOT NULL,
    nome VARCHAR(100) NOT NULL,
    latitude FLOAT(8) NOT NULL,
    longitude FLOAT(8) NOT NULL,
    regiao VARCHAR(12) NOT NULL,
    PRIMARY KEY (codigo_uf)
);

INSERT INTO estados VALUES
(11,'RO','Rondônia',-10.83,-63.34,'Norte'),
(12,'AC','Acre',-8.77,-70.55,'Norte'),
(13,'AM','Amazonas',-3.47,-65.1,'Norte'),
...

Municípios

CREATE TABLE municipios(
    codigo_ibge INT NOT NULL,
    nome VARCHAR(100) NOT NULL,
    latitude FLOAT(8) NOT NULL,
    longitude FLOAT(8) NOT NULL,
    capital BOOLEAN NOT NULL,
    codigo_uf INT NOT NULL,
    siafi_id VARCHAR(4) NOT NULL UNIQUE,
    ddd INT NOT NULL,
    fuso_horario VARCHAR(32) NOT NULL,
    PRIMARY KEY (codigo_ibge),
    FOREIGN KEY (codigo_uf) REFERENCES estados (codigo_uf)
);

INSERT INTO municipios VALUES
(5200050,'Abadia de Goiás',-16.7573,-49.4412,FALSE,52,'1050',62,'America/Sao_Paulo'),
(3100104,'Abadia dos Dourados',-18.4831,-47.3916,FALSE,31,'4001',34,'America/Sao_Paulo'),
(5200100,'Abadiânia',-16.197,-48.7057,FALSE,52,'9201',62,'America/Sao_Paulo'),
...

Exemplo CSV

Estados

codigo_uf,uf,nome,regiao
11,RO,Rondônia,-10.83,-63.34,Norte
12,AC,Acre,-8.77,-70.55,Norte
13,AM,Amazonas,-3.47,-65.1,Norte
...

Municípios

codigo_ibge,nome,latitude,longitude,capital,codigo_uf,siafi_id,ddd,fuso_horario
5200050,Abadia de Goiás,-16.7573,-49.4412,0,52,1050,62,America/Sao_Paulo
3100104,Abadia dos Dourados,-18.4831,-47.3916,0,31,4001,34,America/Sao_Paulo
5200100,Abadiânia,-16.197,-48.7057,0,52,9201,62,America/Sao_Paulo
...

Exemplo JSON

Estados

[
  {
    "codigo_uf": 11,
    "uf": "RO",
    "nome": "Rondônia",
    "latitude": -10.83,
    "longitude": -63.34,
    "regiao": "Norte"
  },
  {
    "codigo_uf": 12,
    "uf": "AC",
    "nome": "Acre",
    "latitude": -8.77,
    "longitude": -70.55,
    "regiao": "Norte"
  },
  {
    "codigo_uf": 13,
    "uf": "AM",
    "nome": "Amazonas",
    "latitude": -3.47,
    "longitude": -65.1,
    "regiao": "Norte"
  }
]

Municípios

[
  {
    "codigo_ibge": 5200050,
    "nome": "Abadia de Goiás",
    "latitude": -16.7573,
    "longitude": -49.4412,
    "capital": 0,
    "codigo_uf": 52,
    "siafi_id": 1050,
    "ddd": 62,
    "fuso_horario": "America/Sao_Paulo"
  },
  {
    "codigo_ibge": 3100104,
    "nome": "Abadia dos Dourados",
    "latitude": -18.4831,
    "longitude": -47.3916,
    "capital": 0,
    "codigo_uf": 31,
    "siafi_id": 4001,
    "ddd": 34,
    "fuso_horario": "America/Sao_Paulo"
  },
  {
    "codigo_ibge": 5200100,
    "nome": "Abadiânia",
    "latitude": -16.197,
    "longitude": -48.7057,
    "capital": 0,
    "codigo_uf": 52,
    "siafi_id": 9201,
    "ddd": 62,
    "fuso_horario": "America/Sao_Paulo"
  }
]

Nota: caso encontre qualquer dado inconsistente ou tenha alguma sugestão por favor crie uma issue ou envie um pull request diretamente. Obrigado a todos os colaboradores. 🙌

Exportação dos Dados

Existem diversas ferramentas para trabalhar com bancos de dados e exportar os dados em outros formatos como CSV, JSON, entre outros. Uma ferramenta que costumo utilizar com frequência é o DBeaver, pois além de ser multiplataforma ela é simples de usar e disponibiliza várias opções para a exportação dos dados.

Serviço de Dados do IBGE

Hoje o IBGE conta com um serviço de dados que disponibiliza diversas informações sobre as localidades do Brasil.

A API do IBGE pode ser acessada pelo seguinte endereço: https://servicodados.ibge.gov.br/api/docs/localidades

municipios-brasileiros's People

Contributors

helysousa avatar jonathancbarros avatar julianobazzi avatar kelvins avatar leodiegues avatar leogouveia avatar m3nin0 avatar otoru avatar pedrounes1 avatar rncoll7 avatar rodrigodornelles avatar tranv94 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

municipios-brasileiros's Issues

Duas cidades não encontradas em Rio Grande do Sul

De acordo com os dados de áreas territoriais de 2020 pelo IBGE(Link)
Rio Grande do Sul possui as cidades Lagoa Mirim e Lagoa dos Patos de códigos 4300001 e 4300002 respectivamente, não presentes no conjuntos de dados do repositório

Adicionar Bairros das Cidades

Será que conseguiria disponibilizar também o SQL dos bairros das cidades.

Desde já agradeço por compartilhar os arquivos. #sucesso

Novo Json

Antigo:

{
"Código IBGE": 5107602,
"Nome do Município": "Rondonópolis",
"Código UF": 51,
"UF": "MT",
"Estado": "Mato Grosso",
"Latitude": -16.4673,
"Longitude": -54.6372
}

Novo formato:

{
"codigo_ibge": 5107602,
"nome_municipio": "Rondonópolis",
"codigo_uf": 51,
"uf": "MT",
"estado": "Mato Grosso",
"latitude": -16.4673,
"longitude": -54.6372
}

Novo-Json.zip

arquivo sql com colunas fora da ordem

repare que os 4 últimos registros estão fora da ordem... eles estão com estado e código do estado, diferente de todos os outros... e assim quebra o sql.

captura de tela 2017-08-25 as 12 01 45

Fonte das informações

De onde vem essas informações? Acho importante dizer em algum lugar de onde vem e qual o ano referência desses dados.

SQL: Mover as informações de estado para uma tabela separada

Acredito que faz mais sentido mover as informações relacionadas ao estado (Código UF, UF, Estado) para uma tabela separada e utilizar uma chave estrangeira para ligar com cada município. Assim podemos remover a quantidade de informações repetidas na tabela de municípios.

  • Se alguém discorda disso por algum motivo podemos discutir sobre o assunto.
  • Se alguém tiver tempo para fazer isso seria de grande ajuda. 👍

Sistema de Coordenada Utilizado

Olá.
Muito bom o trabalho, estas informações vão ajudar muita gente.
apenas fiquei com uma dúvida. Para utilizar estas coordenadas em um sistema geo-espacial é necessário saber qual é o sistema de coordenadas utilizado. Vocês sabem qual é o sistemas de coordenadas para a Latitude e Longitude apresentadas?

Adicionar regiões do Brasil em municípios e estados

Acha que valeria a pena adicionar uma coluna nas duas tabelas com a região da localidade (ex. Norte, Sudeste, etc)? Caso ache interessante, anexo aqui a tabela de correspondência de regiões por codigo_uf, servindo tanto à tabela de estados quando de municípios.

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

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

Cidades com codigo_ibge errado

Comparando com a base do IBGE (https://servicodados.ibge.gov.br/api/docs/localidades) percebi que tem algumas cidades com seus códigos do ibge trocado, segue a lista:

  • Santa Terezinha do Progresso/SC - 4215687 (incorreto 4215695)
  • Santiago do Sul/SC - 4215695 (incorreto 4215687)
  • Laje/BA - 2918803 (incorreto 2918902)
  • Lajedão/BA - 2918902 (incorreto 2919009)
  • Lajedinho/BA - 2919009 (incorreto 2919058)
  • Lajedo do Tabocal/BA - 2919058 (incorreto 2918753)
  • Lagoa Real/BA - 2918753 (incorreto 2918803)

População

Primeiramente parabéns, ficou perfeito. Só ficou faltando a população.

Cidades adicionais

Eu posso fazer um pull-request com 170 cidades adicionais, algumas repetidas mas com pontuações diferentes (Ex: `` ao invés de ' em cidades como Olho D`água das Flores) e outras que você não possui nessa listagem, o único problema é que não registrei o código do IBGE, apenas os dados de Latitude e Longitude. Se achar interessante, é só falar.

[Sugestão] Municipios vizinhos

Pra cada municipio, um atributo citando todos os municipios que compartilham fronteira com ele.

Deve dar pra extrair essa info do Shapefile/.DBF (?) do mapa das Malhas municipais IBGE com o QGIS ou a library de Python, mas nao tenho conhecimento de nada disso, e podem ter jeitos melhores. Obrigado

Cidade de Jordão no Acre divergente

A cidade de Jordão no acre está com as seguintes coordenadas (-9.43091, -71.8974). Porém, a posição real é (-9.190884, -71.950312), distando quase 28 km da posição constante na base.

Paraíso das Águas - MS não encontrado no SQL

Paraíso das Águas - MS não encontrado no SQL - Código IBGE: 5006275 Latitude: -19.0216 Longitude: -53.0116

captura de tela 2017-08-29 as 11 09 16

3550001 - São Luíz do Paraitinga está com a grafia errada.. está com luíS o correto segundo o site do IBGE é com Z

captura de tela 2017-08-29 as 11 15 47

[Sugestão] Adicionar o CEP por município

Olá pessoal, eu de novo!

Recentemente eu tive que juntar informações em uma base que contemplasse informações dos municípios, como:

  • cep
  • logradouro
  • numero
  • bairro
  • cidade
  • estado
  • uf

Essas informações eu consegui baixar gratuitamente através do projeto CEP Aberto.
mas preciso também trazer dados, na granularidade de municípios, como:

  • codigo_ibge
  • lat_municipio
  • long-municipio
  • ddd

e se tiver extra:

  • lat_estado
  • long_estado

Que são dados que a base atual já contempla. Sendo assim, gostaria de saber se há possibilidade de juntar esses dados também.

Se precisar atuar no etl que consolidam esses dados, seja para atuar na criação dessa parte da lógica ou mesmo na manutenção desses dados, fico à disposição.

Valeuuuuuu

sugestão: adicionar código município TSE

Primeiramente não consigo entender por qual razão o TSE não usa a codificação de municípios do IBGE.
Dito isto e vendo necessidade constante de trazer dados de coordenadas para as informações do TSE, sugiro acréscimo de uma coluna "cd_mun_TSE".

[Sugestão] Melhorias na validação/geração dos dados

Primeiramente @kelvins excelente projeto, já me ajudou muito xD!

Queria propor umas ideias, em que eu posso abrir pr's , mas gostaria de ver se é válido antes.

  • Melhorar a validação/formatação dos dados obtidos do ibge, afim de evitar subir dados corrompidos/errados dentro do projeto
  • Melhorar a geração dos dados, criando um script que faça isso de forma automática usando os dados disponibilizados pela api do ibge

Caso mais alguém tenha ideias de melhorias/novos dados podem inserir aqui também.

Erro na linha 4907 falta por a virgula no final

Olá Kelvin,

Primeiramente gostaria de te agradecer por disponibilizar essas informações esta sendo muito útil, muito bom mesmo, parabéns. Tentei rodar o script aqui e deu erro na linha 4907 pq falta a virgula no final, no mas eh isso, se souber de mais alguma issues ou nova cidade te aviso por aqui, valew.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.