Banco de dados do IBGE 1:250.000 no PostGIS

Em 2013 o Instituto Brasileiro de Geografia e Estatística (IBGE) disponibilizou a Base Cartográfica Contínua do Brasil na escala 1:250.000, também conhecido como “BC250”. 

A Base Cartográfica Contínua serve como referência cartográfica para as ações de planejamento, monitoramento e gestão territorial do país, e está modelada conforme as Especificações Técnicas para Estruturação de Dados Geoespaciais Vetoriais na versão 2.1 (ET-EDGV v2.1) (IBGE).

A BC250 foi disponibilizada pelo IBGE em dois formatos:

  • Em um formato de banco de dados proprietário (*.mdb), usado pelo ArcMap;
  • E em PostGIS;

Como a extensão “.mdb ” foi desenvolvida pela Microsoft, o usuários de Windows tem a possibilidade de usar tais dados em diferentes SIGs, mesmo não se tratando de sistemas desenvolvidos pela ESRI. Como sou usuário de Linux, essa possibilidade não se aplica, apesar de haver formas de instalar tal extensão.

Por isso, resolvi usar a versão do banco de dados em PostGIS. Levei um tempo até fazer a incorporação da base de dados ao meu banco e, visando ajudar aos demais que possam ter as mesmas dúvidas que tive, coloco aqui os procedimentos:

AQUISIÇÃO DOS DADOS

A Base de dados pode ser acessada pelo FTP do IBGE, por meio do link:
ftp://geoftp.ibge.gov.br/mapeamento_sistematico/base_vetorial_continua_escala_250mil/

IBGE_BC250Download da Base Cartográfica 1:250.000, em formato para PostGIS, pode ser feito aqui: bc250_pgis20_dump.zip

É sempre importante ler a documentação referente aos dados para ter mais controle e conhecimento sobre os dados manipulados. A documentação referente à BC250 pode ser acessada aqui.

PREPARAÇÃO DO BANCO DE DADOS

Como o próprio nome do arquivo informa, a base cartográfica foi disponibilizada através de um backup ‘dump’. A ferramenta ”pg_dump” permite realizar o backup de uma base de dados de forma consistente sem impedir sua utilização durante o processamento. O arquivo resultante está em formato de texto, facil de ser restaurado em outras bases de dados.

Contudo, alguns elementos precisam estar configurados conforme o banco de dados de origem. Por exemplo, todos os dados da BC250 estavam em um ‘schema’ chamado ‘bc250’. Por isso, precisaremos criar um com o mesmo nome em nosso banco de dados. Além disso, é preciso criar um usuário com o nome ‘ACC’, que está definido no bc250 como proprietário.

Para criar o schema e usuário por SQL, basta usar os comandos:

--Logando como superusuário
sudo su
su postgres
--Logando à base de dados
psql database
-- Criando o shema
CREATE SCHEMA bc250;
--Criando o usuário
CREATE USER ccar;

RESTAURANDO A BC250

Com tudo isso pronto, precisaremos apenas abrir o arquivo o ‘restore.sql’, com um editor de texto, e mudar o “$$PATH” para o caminho de pastas e subpastas onde os dados foram descompactados.

Para executar o restore.sql, saia da base de dados (comando \q ) execute restore.sql direcionando o à base de dados correta:

psql -d database -f restore.sql

A restauração da Base Cartográfica 250 do IBGE levará um bom tempo, devido à quantidade de dados. Por isso, aproveite para ler a documentação, tomar um café…

A resolução desse ‘problema’ assim, como várias dúvidas tem sido tiradas através da lista de e-mails do PsotGIS Brasil. Fica, então a dica aos que estão interessados: postgis-brasil@googlegroups.com

Abs

Felipe Sodré Barros

Anúncios

Sobre Felipe Barros

Geógrafo formado pela PUC-Rio, é mestre em Biodiversidade pelo Jardim Botânico do Rio de Janeiro e especialista em analise ambiental e gestão do território pela ENCE/IBGE. Trabalha com softwares livres de análise espacial, banco de dados e sensoriamento remoto.
Esse post foi publicado em Banco de Dados Geográficos e marcado , , , . Guardar link permanente.

19 respostas para Banco de dados do IBGE 1:250.000 no PostGIS

  1. marcosgeo disse:

    Boa postagem Felipe. Nós geógrafos precisamos fazer isso mais vezes para mostrar aos colegas de profissão que utilizar tecnologias livres não é complicado e, melhor ainda, é mais divertido. Postagens como essa ajudam aqueles que querem iniciar a trabalhar com banco de dados espaciais e consequentemente a obter um conhecimento mais profundo de SIG.

  2. Oi, Marcos.
    Obrigado pela Mensagem! Concordo com vc.
    A ideia aqui é facilitar a caminhada de nossos companheiros e mostrar que temos alternativas de alto nível.
    O mais interessante em minha trajetória em software livre é o quanto eu aprendi e amadureci em conhecimentos ligados à Geo, além da ‘programação’ em sí…
    Abs e ficarei ligado no seu blog também!

    Felipe Sodré Barros

  3. Sérgio Luís Bianchini disse:

    Bom dia, Felipe.
    Não sei se é o local mais apropriado, mas não consegui executar os passos, pois dá um erro.
    ERROR: syntax error at or near “psql”
    LINHA 1: psql -d databse -f restore.sql

  4. Oi, Sérgio, é apropriado, sim.
    Alías, aproveito para esclarecer que o post foi modificado pois o nome de usuário a ser usado estava errado. Ao invés de acc, o correto é ccar.

    Sérgio, onde vc executou o comando? Digo, é preciso que vc esteja como superusuário do PostGre.
    Pelo fato da mensagem ‘estranhar’ o “psql”, imagino que vc não esteja logado no PSQL.
    De uma olhada nisso.
    Assim que tiver tempo, vou refazer os passos para me certificar.
    abs

  5. Sérgio Luís Bianchini disse:

    Obrigado, quanto ao owner já tinha observado que era o ccar.
    Testei com ele também, mas o erro principal é o psql
    Vou verificar o restante.

  6. Sérgio, consegui fazer o teste. Bom, se vc tentar fazer isso logado na base (quando no terminal fica ‘database=#’), não dará certo e o erro mencionado aparecerá. O correto é executar a restauração dos dados sem estar logado na base, mas logado no PostGIS (postgres@user:). Vou editar o post para fica mais claro e espero que de certo! abs

  7. Diogo Caribé disse:

    Eu consegui fazer o restore no Windows, mas no linux não ta rolando. Seu tutorial não resolveu. Ou eu tutorial não. Aqui só dá Permission denied. ahhh Valeu Felipe, seu blog esta super bacana.

  8. Danilo Borges disse:

    Olá Sérgio, fiz besteira e tive que importar duas vezes.
    Mas como a primeira vez demorou procurei outra forma e dá pra restaurar com o pg_restore, a vantagem é que com ele podemos configurar vários Jobs para serem executados ao mesmo tempo, o que agiliza bastante, e não precisa editar o $$PATH.
    `pg_restore – j 2 -d nomedobanco bc250_pgis20_dump`
    -j: indica quantos Jobs(threads) que serão executados, li que era bom ser o total de cores do pc – 2 (o que estou usando é quad)
    -d: é o banco de dados, que já tem que estar criado; e
    ‘bc250_pgis20_dump’ é o nome da pasta onde eu extrai tudo.
    No final foi (além de criar o schema e usuário):
    unzip bc250_pgis20_dump
    pg_restore – j 2 -d geobr bc250_pgis20_dump

    Abraços!

  9. Obrigado, Diogo, Daniel e Sérgio pelas contribuições. Vou fazer o teste com o pg_restore. O fato de poder definir quantos cores usar me parece fundamental neste processo! Abs

  10. Diogo Caribé disse:

    No Ubunto so dá
    dogosousa@dogosousa:~$ sudo su
    [sudo] password for dogosousa:
    root@dogosousa:/home/dogosousa# su postgres
    postgres@dogosousa:/home/dogosousa$ psql -d bdgeo -f /home/dogosousa/Downloads/bc250_pgis20_dump/restore.sql
    Password:
    /home/dogosousa/Downloads/bc250_pgis20_dump/restore.sql: Permission denied

    Tem alguma sugestão para resolver isso?

    Abraços

  11. Diogo, acho que o problema está na autorização da pasta onde o SQL se encontra. Faça o seguinte: clique com o botão direito sobre a parta onde está o restore.sql e depois em ‘propriedades’. Na aba ‘permissões’, certifique-se que ‘proprietario, grupo e outros tenham opção de ‘acessar e excluir arquivos’, em acesso. Ou, caso vc use terminal, basta usar o comando “chmod 777 nome_da_pasta”.

  12. Diogo Caribé disse:

    Valeu!

    Só não consegui fazer o thread que Danilo sugeriu.

    Abraços

  13. Mailson Filho disse:

    Opa Felipe, parabéns pelo blog.

    Estou com problemas para importar a base no modelo atual oferecido pelo IBGE, um arquivo .tar, não consigo por linha de comando nem pelo PgAdmin. Meu ambiente é linux (ubuntu 14.04). No arquivo do IBGE vem um arquivo leia-me mas aparentemente falta “algo”. Você passou por isso ou sabe como resolver?

    Agraço a atenção,
    Abraço

  14. Mailson, irei atualizar em breve o post. Fazendo tudo desde o princípio. Da instalação do PostGIS à incorporação do banco de dados do IBGE. Fica dificil te ajduar sem saber qual erro está dando. Mas com a atualização na qual estou trabalhando creioq ue irá ajudar.
    abs

  15. Conteudo desatualizado, nao consigo baixar a base

  16. Estimado Igor, obrigado pelo interesse em colaborar com melhorias do blog. O motivo por você não conseguir acessa a base se deve a algum problema no IBGE.
    Fiz um teste baixando de outros lugares e o mesmo erro ocorreu. Infelizmente não posso corrigir isso.
    Atenciosamente
    Felipe

  17. Giovane Silveira disse:

    Como posso adicionar o BC250 como camada do tipo PostGIS no meu QGIS? Utilizo Windows.

  18. Pingback: Base de dados do IBGE em PostGIS | Geo Independência

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s