Base de dados do IBGE em PostGIS

Aproveitei essa semana para atualizar meu PC e vi que o IBGE disponibilizou as bases de dados atualizadas em escala 1:250.000 e ao milionésino para serem restauradas ao PostGIS.

A base de dados 1:250.000 já foi divulgada no GeoIndependencia em 2015, mas sua versão (ao menos a usada para o artigo naquela época) era de 2013. Atualmente a versão da base de dados data de 11 de maio de 2015. Segundo informações no documento LEIAME.doc (acho que sou o único que leio essas coisas :) não houve atualização dos dados cartográficos em relação à versão anterior, mas não deixa claro qual era a versão anterior… A atualização se deve a uma correção na estrutura da tabela “trecho_rodoviário”.

Com relação à base de dados ao milionésimo, mais conhecida por BCIM, não encontrei nenhum documento de orientação ou LEIAME informando sobre o que foi – ou não – atualizado.

IBGE250.png

Acesso aos backups da base de dados 1:250.000 e BCIM no site do IBGE: Download -> Geociências -> cartas_e_mapas; bc250, para acessar a base 1:250.000 ou BCIM a base ao milionésimo.

Para restaurar tais dados em seu banco de dados PostGre, basta criar uma base de dados com extensão a extensão GIS e executar o comando `pg_restore`:

# BC250
pg_restore --host localhost --port 5432 --username UUUUUU --dbname BBBBBB --no-owner --password --verbose "CAMINHO_PARA/BC250_pgis20_dump_v2015_2016-05-11/bc250_v2015-2016-05-11.tar"

# BCIM
pg_restore --host localhost --port 5432 --username UUUUUUU --dbname BBBBBB --no-owner --password --verbose "CAMINHO_PARA/BCIM_postgis_versao2016.tar"

Claro, troque UUUUUU pelo nome de usuário (postgres, por exemplo) e BBBBBB pelo nome da base de dados onde deverão ser restaurados os dados espaciais e dê adeus àquele conjunto de shapefile que você nunca lembra qual é a versão mais atual.

Publicado em Banco de Dados Geográficos | Marcado com , , , , , , , , | Deixe um comentário

Layout de mapas no QGIS

Outro dia vi em una rede social um comentário colocando a produção de (layout) mapas  como sendo o “calcanhar de aquiles” do QGIS. Como não é a primeira vez que “escuto” tal tipo de afirmação, resolvi publicar uma coletânea de tutoriais sobre a produção de (layout) de mapas no QGIS.

Livro: QGIS Map Design

Começo sugerindo o livro “QGIS Map Design”, produzido pela Gretchen Peterson e Anita Graser. O livro aborda os três principais componentes, quando nos referimos à geração de layout de mapas: Simbologia, rotulação das camadas e a produção em si (layout) do mapa (tradução livre de: “styling layers, labeling, and designing print maps”). O interessante neste livro é chamar a atenção à importância da criação de simbologias adequadas e na configuração de rótulos, antes de tratas das possíveis configurações de layout. O livro não foi traduzido, mas trata-se de um passo a passo com dados disponíveis para download. Acho que não tem como errar.

qgis-map-design

Capa do livro QGIS Map Design.

Mais informação sobre o livro.

Tutorial: Map Desgin on QGIS Composer

Outro tutorial que me chamou atenção, e que segundo o autor teve algumas ajudas do livro citado acima, é “Map Desgin on QGIS Composer“, produzido por Mickael Hoarau (@Oneil974).

QGISDesign

O mais interessante é observar que o autor usa linguagem HTML para organizar alguns estilos do mapa. Bem como apresenta o uso de expressões para inserir a data de produção do mesmo.

QGISComposer3

Exemplo do uso da linguagem HTML no layout do mapa.

QGISComposer2

Exemplo do uso de expressões no layout do mapa.

O tutorial está disponível neste link e os materiais usados podem ser baixados aqui. Assim como o livro, o passo a passo está bem documentado com imagens e por isso, imagino que usuários não fluentes no QGIS (e/ou inglês) também conseguirão obter o resultado apresentado pelo autor.

Tutorial: QGIS Atlas Desgin

O mesmo autor criou posteriormente um tutorial semelhante mas explorando a ideia de criação de atlas, elevando um pouco a dificuldade do tutorial, mais ainda assim, o apresentando de forma prática.

QGISComposer4

Exemplo de criação de atlas no QGIS.

Neste tutorial, Mickael apresenta mais detalhadamente o processo de simbologia usado por ele, usando expressões, além de HTML, CSS para criar os estilos do mapa.

QGISComposer5

Exemplo do uso de CSS na composição do mapa

O tutorial pode ser acessado aqui e os dados usados no exemplo, podem ser baixados deste link.

Tutorial: Visualização de séries temporais

Apresar de não se tratar de um tutorial para geração de layout de mapa estático, o tutorial a Anita Graser apresenta de forma rápida como visualizar dados de séries temporais no QGIS, usando o complemento Time Manager, inclusive com a possibilidade  de exportar a resultado em formato de video. No exemplo, são usados dados de aves migratórias.

Tutoriais: Mapas de “movimento”

Um ponto não tão fácil de se explorar são os mapas (“estáticos”) que representam algum tipo de movimentação. Não à toa, Anita Graser produziu uma série de artigos/tutoriais explorando essa temática. Antes de explorar a parte visual e geração de layout, Anita dedicou um artigo com algumas reflexões a respeito da natureza dos dados e o conceito espaço-tempo.

No segundo artigo sobre o tema, são apresentados algumas possibilidades iniciais de visualização de dados de movimento explorando visualização da  velocidade. Esse tema é usado para apresentar uma funcionalidade “nova” do QGIS (Desde sua versão 2.14): gerador de geometria. Trata-se da possibilidade de modificar a geometria sem a necessidade de processá-la e salvá-la como uma nova camada. O artigo, portanto não explora a geração de layout de mapas, mas sim, uma parte fundamental da mesma que é a criação de simbologias para as camadas de forma eficiente. O artigo pode ser acessado neste link.

Em outro artigo, A autora usa essa funcionalidade de geração de geometrias para a produção de um mapa de fluxos:

preview

Fonte: Anita Graser.

Partindo da geração de três geometrias diferentes e apresentando os comandos usados, fica evidente a gama de possibilidades em se trabalhar com tal ferramenta. Como desdobramento, ela deixa um conjunto de dados e o estilo de mapa neste artigo.

Em seu terceiro artigo, ela reitera o verdadeiro desafio no mapeamento de movimento e trajetória: trabalhar com grande quantidade de dados. Ela busca, então, pesquisas relacionadas à visualização de dados para sanar tal desafio, criando um complemento do QGIS que permite analisar a intensidade (tradução livre de “strength”) e direção dos fluxos.

trajectory_generalization_2

Fonte: Anita Graser.

Como era de se esperar, no quarto artigo a “brincadeira” fica ainda mais complexa e interessante: ela passa a considerar a variação no tempo dos movimentos mapeados. Para isso, cada segmento de rua recebeu um gráfico de ‘pizza’, onde cada quarto da circunferência indica um período do dia (madrugada = azul claro (0 às 6h), manhã = laranja (6 às 12h), tarde = vermelho (12 às 18h), noite = azul escuro (18 às 0h)) e o tamanho do gráfico indica a quantidade de carro naquele determinado período.

2_flows_and_time_pies

Fonte: Anita Graser.

Aos que se interessaram e trabalham com dados de movimento e trajetória, o quinto artigo apresenta alguns tópicos abordados em uma conferência sobre o tema.

Tutoriais: Mapas de fluxos

Aos que precisam explorar mapas de fluxos, foi dedicado uma série de artigos sobre o tema. Como de praxe, Anita Graser dedica o primeiro artigo da série, não apenas à reflexão conceitual e desafios relacionados à tais tipos de mapeamentos, mas também passando algumas possibilidades bem interessantes para tais mapeamentos.

Segundo a autora, o primeiro artigo foi feito com dados simplificados, por isso ela dedicou um segundo artigo para reproduzir o mesmo mapa, mas com dados “reais”. Os dados e os estilos criados também estão disponíveis pelo repositório dela (Veja no link como acessá-lo). O resultado é ainda mais interessante:

migration_twocolor

Fonte: Anita Graser.

Ainda sobre mapas de fluxos, a autora mostra como usar degradê na simbologia das setas, neste artigo.

Está assustado com a quantidade de material a ser explorado? Saiba que ainda tem mais:

Neste artigo, Anita mostra uma alternativa ao uso das setas nos mapas de fluxo, usando rampa de cores para indicar o “volume” de fluxo entre as regiões. Contudo, o mais interessante deste tutorial está em como usar a função de camadas virtuais (“virtual layers”). A ideia das camadas virtuais está em fornecer capacidades de banco de dados às camadas sem a necessidade de configurá-las (basando usar SQL diretamente na camada).

Além do uso das camadas virtuais, é abordado e ensinado como ter melhor proveito do layout de mapas, já que, no caso apresentado pela autora, é analisada uma área composta por 9 polígonos.

migration

Fonte: Anita Graser.

Por último, mas não menos importante, foi publicado recentemente (acho que não preciso dizer por quem) uma forma de simbologia para rios, conhecido (em inglês) como “tapered lines” (ou, em tradução livre: linhas afuniladas). A ideia básica é aumentar a largura da simbologia de acordo com a sua “hierarquia”.

Veja no tutorial que, na verdade ela analisa o segmento em questão em função do total de segmentos. E sabendo que o dados foi digitalizado a montante, ela tem uma aproximação da hierarquia do rio, gerando o seguinte efeito:

tirol_rivers1

Fonte: Anita Graser.

Considerações finais

Como podem perceber, não precisei buscar muito para achar tais tutoriais… Basicamente em um único blog temos todos esses tutoriais disponíveis. Ou seja, não se tratou de um busca extensiva e que esgotasse do tema. Como a simbologia usada nos dados espaciais possuem efeito direto aos mapas produzidos, optei por incluir os tutoriais que explorassem essa vertente.

Chego, portanto, à conclusão que (ao menos em meu caso) o “calcanhar de aquiles” do QGIS é na a (minha) falta de tempo para estudar e explorar a liberdade de expressão e de criação que o QGIS nos possibilita. Mas vale anotar essas dicas e guardá-las para quando for oportuno estudá-las.

Espero que tenham gostado e bom estudo!

Publicado em QGIS | Marcado com , , , , , , , , | Deixe um comentário

Instalação de softwares espaciais no Ubuntu

Como aproveitei para atualizar meu Ubuntu para a versão mais atual (16.04 LTS), tive que reinstalar todos os softwares de SIG, Sensoriamento Remoto e análise espaciais. E por não são expert em Ubuntu, sempre faço besteira ao adicionar repositórios que acabam instalando software em versões anteriores, ou quebro dependencias de outros softwares… Enfim, sempre tenho problemas.

Por isso, montei um script de guia e ele foi meu salvardor durante um/dois anos. Como o script foi montado para a versão anterior do Ubuntu, eu teria que reestrutura-lo para a versão 16.04. Mas em Outubro de 2016 participei de um curso na Latinoware sobre o complemento do QGIS DSGTools, ministrado pelo Luiz Andrade, do Exército Brasileiro. No curso, nos foi compartilhado um script “similar” ao que eu tinha feito, mas em formato executável no bash (terminal do linux) e com muito mais funcionalidades. Não tive dúvidas, entrei em contato com o Luiz para ter acesso ao script e recebi a boa notícia: o script tinha novas funcionalidades e funciona para diferentes versões do Ubuntu.

O que será instalado:

Outras funcionalidades:

  • Configuração do PostGreSQL;
  • Configuração do Apache
  • Instalação de bibliotecas para utilização do GRASS, OTB, SAGA e Semi-Automatic Classification Plugin;

Pelo ótimo trabalho do pessoal da DSG e imaginando que esse script seja de interesse de outras pessoas, resolvi compartilhar com vocês: link

O script faz parte do repositório DSG Management Tools e surgiu, segundo o Luiz, da rotina de instalação de tais softwares nos computadores das corporações ou durante os treinamentos.

Deixo aqui meu agradecimento ao Luiz Andrade e Philipe Borba pelo trabalho desenvolvido e compartilhamento do script.

Façam bom uso!

Publicado em Banco de Dados Geográficos

Como instalar R e RStudio Ubuntu 16.04

Aproveitando o início do mês/ano para ajeitar a máquina e atualizar o Ubuntu para a versão 16.04 LTS (Long Term Service), achei por bem atualizar o tutoral de como instalar o R e Rstudio no Ubuntu.

Segue:

# ADD repository / Adicionando repositório para download
sudo echo "deb http://cran.rstudio.com/bin/linux/ubuntu xenial/" | sudo tee -a /etc/apt/sources.list

# ADD Athentication KEY / Adicionando chave de atuenticação
gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9
gpg -a --export E084DAB9 | sudo apt-key add -
# Atualizando informações dos repositórios
sudo apt-get update

# Isntalling R / Instalando R
sudo apt-get install r-base r-base-dev


# instale o gdebi:
sudo apt install gdebi
# Downloading RStudio / Fazendo download do RStudio -> ficar atento se nao há versões novas!
wget https://download1.rstudio.org/rstudio-1.0.136-amd64.deb
# Installing RStudio
sudo gdebi -n rstudio-1.0.136-amd64.deb
# Removing RStudio
rm rstudio-1.0.136-amd64.deb

# Caso tenha interesse em usar pacotes para dados
# espaciais (como rgdal), será necessário instalar:
sudo apt-get install libgdal-dev libproj-dev

 

Publicado em R | Marcado com , , , , | 9 Comentários

Segmentação/Classificação no R

Há algum tempo comecei a usar mais o software R para análises espaciais. Trata-se de um software de grande possibilidade para análise exploratória e modelagens estatísticas. O que eu não imaginei foi a possibilidade de utilizá-lo para sensoriamento remoto.

E o mais louco de tudo isso é a possibilidade de faze tais análises (por exemplo, classificação de imagem de satélite) sem a necessidade de pacotes específicos. Afinal, em sua maioria, estamos sempre trabalhando com estatística, independente da finalidade.

Resolvi, portanto, compartilhar aqui uma classificação não supervisionada que fiz baseada no algoritmos K-means. De início estava interessado em entender o processo de segmentação, como o de crescimento de região, disponível no software SPRING. Há diferentes algoritmos de segmentação de imagens e a ideia geral é agrupar pixels com características similares, como por exemplo, nível de cinza, textura e contraste, resultando em áreas com resposta espectral homogêneas (ou melhor, dentro de um padrão). Não sou especialista, por isso incentivo à todos que pesquisem mais a respeito no manual spring ou no artigo do Sadeck.

K-means

O algoritmo K-means, foi colocado no artigo do Sadeck como um possível algoritmo de segmentação. Contudo, por ele realizar uma análise de agrupamento (clustering), e definir classes de grupos a cada pixel, estarei o considerando aqui, como um algoritmo de classificação não supervisionado. Logo, o algoritmo K-means não está baseada no método de crescimento por região, que era meu objetivo inicial.

Oque faz o K-means? O algoritmo cria k grupos com respostas espectrais similares a partir dos valores dos pixels da(s) imagem(ns). Portanto, não consideram elementos como, contraste e textura. Esta abordagem classifica da imagem em k grupos (definidos à priori pelo usuário), que serão agrupados (classificados) estatisticamente em diferentes iterações de forma a reduzir o erro quadrático médio intra grupos e, por consequência, aumentar a distância entre os grupos (clusters). Para mais informações Kmeans.

Classificação não supervisionada no R

Como exemplo, farei uma análise da cobertura do município do Rio de Janeiro, usando uma cena do satélite LandSat 8 OLI, para a data de 2015.

Dados básicos da análise

fig1.png

Para a classificação vou usar a cena com todas as bandas mais o NDVI. Na figura abaixo, vemos a composição r=4, g=2 e b=1.

Resultado

Da cena utilizada, fizemos a classificação em seis grupos distintos, ilustrados abaixo.

fig2.png

O tempo de processamento é curtíssimo. Sim, eu sei. Esse processo não é nenhuma novidade. Contudo, acredito ser de grande valia por termos a possibilidade de nos apropriarmos dos resultados estatísticos para explorá-los, tanto no pré quanto no pós processamento.

Visualmente, poderíamos atribuir aos grupos as seguintes classes:

  1. classe 1, com cor verde: poderia ser classificada como áreas florestais
  2. classe 2, com cor roxa (ou coisa parecida): seriam as áreas urbanas
  3. classe 3, com cor laranja: seriam áreas florestais, mas com alguma diferença da classe 1 (possivelmente em diferente estágio ou nível de degradação)
  4. classe 4, em amarelo: que pouco aparecem, seriam áreas de areia
  5. classe 5, em azul: seriam corpos d’água
  6. classe 6, em vermelho: áreas urbanas, mas com resposta diferente da classe 2

Perspectivas futuras

Ainda não pude pesquisar, mas imagino que existam pacotes específicos do R para Sensoriamento Remoto, que poderão nos ajudar bastante em análises complementares.

Comentários são bem-vindos e caso também estejam explorando o universo R e tenham curiosidade, avisem que compartilho o script!

Até a próxima.

Publicado em Banco de Dados Geográficos

Foss4gBrasil: Mudando o jogo

No início do ano fiquei sabendo que nosso vizinho realizaria um encontro de ‘Free and Open Source Software for GIS’ ou FOSS4G. Resolvi me articular com alguns interessados e ir ao evento. Resolvi ainda, propor um curso visando enriquecer mais a proposta.

Pois bem, estamos aqui para o evento,  e tem sido ótimo. Descobrimos que além dos grupos de usuários de softwares específicos, eles organizaram um grupo que contempla a todos: geoinquietos. Nome sugestivo, não?

Hoje li pela manhã um artigo do Fernando Quadro no seu Blog se questionando o “por que os argentinos conseguem e nós não”. Neste artigo, ele nomeia algumas iniciativas realizadas mas que não tiveram reedição. Além disso, ele aproveita para levantar algumas hipóteses, das quais gostaria de comentar algumas aqui:

– Será o reflexo da nossa colonização, de exploração? Será que estamos fazendo com software livre o mesmo que fizeram conosco na época da colonização? Vejo poucas empresas apoiando realmente o software livre, na realidade vejo sempre as mesmas.

Acho um pouco forçado colocar culpa em nossa história, pela nossa tendência em manter a inércia. Mas pode fazer sentido.

Com relação às empresas, aqui eu vejo um ponto importante. Em 2014 alguns usuários de QGIS organizaram um “encontro” promovendo palestras online (I Encontro de usuários de QGIS). Foi o que deu para organizar e, acredito que foi bem sucedido. Todos os materiais se mantêm online para auxiliar quem não pode participar. E, apesar de o QGIS ser um software de grande apelo às empresas que se dedicam ao ensino de SIG, Geoprocessamento e Sensoriamento Remoto, não houve, se quer, a manifestação de interesse, de qualquer empresa deste ramo. Aliás, não há nenhum envolvimento das mesmas com a comunidade QGISBrasil que, dentre outras atribuições, é responsável pelo processo de tradução do software. Logo, fica aqui o convite às empresas do ramo a se envolverem com o projeto. E, para que fique claro, mais do que dinheiro, precisamos de parceiros mobilizados e comprometidos com a causa.

– Será que é devido a falta pessoas se levantarem e se organizarem para realizar um evento desse porte (me incluo nesse item)?

Opa, será? Desculpe a ironia, mas sim. Acredito que seja esse o principal ponto. Afinal, não existe evento sem mobilização e comprometimento, assim como não existe software livre gratuito e de qualidade se ninguém se propor a programá-lo. Vejo o I encontro de usuários de QGIS como um caso pertinente. É comum na lista de e-mail do QGISBrasil, termos e-mail de usuários animados a realizar um evento. A inércia foi quebrada depois que passamos a nos reunirmos para organizar o processo de tradução e o I Encontro. E, tendo em vista a colaboração que o encontro exigiu, o tenho como um sucesso.

– Ou em decorrência do item acima, das organizações internacionais de Open Source GIS não olharem para o Brasil?

Não sei como nem o porque eles não olhariam. Somos um país de escala continental. Temos 6 biomas, sendo dois considerados hotspots para conservação, temos a amazônia (considerada o pulmão do mundo), grandes questões hídricas a serem resolvidas, uma grande extensão litorânea, sem falar nos elementos sociais e políticos que dariam ótimos casos de uso de SIG. E sim, ele tem sido usado, temos em nosso país grande desenvolvedores, por exemplo: Edmar Moretti, LuisMota. Não tenho dúvidas que organizações internacionais teriam e tem grande interesse em contribuir para nosso desenvolvimento. Mas talvez seja mais um caso para a quebra de inércia. Não podemos esperar que eles venham nos oferecer ‘ajuda’ (ou olhar para nós).

Minha pergunta é, até quando será assim? Temos grandes comunidades de QGIS, gvSIG, GeoServer, i3Geo entre outras, não tenho dúvidas que temos plenas condições de nos unirmos e realizarmos um evento tão bom quanto o FOSS4G Argentina, só depende de nós.

Eu realmente acredito que já não é  mais assim, e acredito ter apresentado alguns exemplos do porquê. Pode ser que estejamos almejando algo maior, mas é de pequeno que se começa. E sim, vamos nos unir! Aliás, é um convite à todos que estejam interessados em fazer mais.

Desculpem o desabafo!

Vamos fazer valer nosso desabafo?  Criamos o grupo Geoinquietos Brasil para discutirmos o desenvolvimento de geotecnologias livres (independente do software) no Brasil. Sendo um objetivo a curto prazo organização de um evento que integre as grandes comunidades de geotecnologias livres do Brasil.

Aos que tem interessem em participar, basta participar o grupo pelo link.

Assinado:

Felipe Sodré M. Barros

Narcélio de Sá Pereira Filho

 

Publicado em Divulgação | Marcado com , , | 5 Comentários

Open data no Brasil

Por esses dias tomei conhecimento do portal Data.Rio (data.rio.gov.br), portal de dados da prefeitura da cidade do Rio de Janeiro. A proposta é apenas uma das iniciativas de abertura dos dados governamentais, que visa democratizar o acesso aos dados públicos, tornando-os acessíveis à todos. Afinal, como bem ressalta o manual de dados abertos:

O governo é particularmente importante […] pelo fato de que tais dados são públicos, um direito garantido no artigo 5º da Constituição Federal  brasileira (e a regulamentação desse direito está em fase de  tramitação no Senado Federal, no Projeto de Lei nº 41/2010).

A partir de iniciativas como esta, caberá a nós nos apoderarmos desses dados e usa-los para ‘auxiliar’ nossos governantes (se preferiren, entendam como ‘pressiona-los’) à melhor gestão territorial. Segue um video bem didático sobre a proposta e onde podemos colaborar:

A combinação entre diferentes dados disponíveis podem nos proporcionar novos conhecimentos e importantes considerações à gestão territorial. Fiquei bem contente ao ver no manual de dados abertos (Já citado no incio deste artigo) uma referência ao caso do médico inglês, John Snow, como exemplo e incentivo à exploração dos dados.

Iniciativas como esta já se espalham pelo mundo. A empresa OpenDataSoft mapeou as principais iniciativas e as publicou em um webmap. São mais de 1.600 iniciativas, e os Estados Unidos possuem a maior quantidade de portais. No Brasil, além do portal de dados do Rio de Janeiro, temos o portal de dados do senado, INEP (Instituto Nacional de Estudos e Pesquisas Educacionais Anísio Teixeira), do estado de São Paulo , do estado de Alagoas e da cidade de Porto Alegre .

Publicado em Banco de Dados Geográficos | Marcado com , , , | Deixe um comentário