iDea Plus Geo

Geo ideias em formato aberto

Georreferenciando uma imagem do Google Earth no gvSIG 2.x

March 15, 2018 — Eliazer Kosciuk

Buenas, pessoal!

A partir da versão 2 do gvSIG é possível inserir uma imagem do Google Earth (ou do Bing Maps) diretamente através da opção “Vista > Inserir camada”, e na janela que se abre, acessando a aba “WebMaps”, onde estaremos inserindo uma imagem diretamente dos servidores do Google Earth, e poderemos salvá-la, já georreferenciada automaticamente, através da opção “Vista > Exportar > Exportar Vista para imagem” (ou através do atalho Ctrl + Alt + V).

Mesmo assim, outro dia surgiu uma pergunta de como deveríamos fazer para georreferenciar no gvSIG uma imagem salva através do programa Google Earth. Esse tutorial pretende dar uma das soluções possíveis, e que eu achei ser uma das mais diretas e mais fáceis. Pode haver outras soluções… se você souber de outra, sinta-se a vontade para usar os comentários mais abaixo.

Um esclarescimento: esse não será um tutorial completo sobre como georreferenciar imagens no gvSIG (talvez em outro momento eu faça um, se houver demanda). Portanto, se você não está familiarizado com o processo de georreferenciamento no gvSIG, talvez seja interessante dar uma revisada no manual: http://downloads.gvsig.org/download/web/es/build/html/user_manual/2.3/manual/037.html, na seção de georreferenciamento.

Dito isso, vamos ao trabalho: em primeiro lugar, abra o Google Earth, e selecione a imagem que você quer salvar. Cuide para que o Norte esteja para cima, pois facilitará nosso trabalho depois. Vá em “Arquivo > Salvar > Salvar imagem”, remova todas as “firulas” e salve a sua imagem.

Em seguida, crie uma pasta na seção “Meus Lugares”, e com essa pasta selecionada, adicione vários pontos de controle dentro da imagem que você está trabalhando (no mínimo de 4 a 6 pontos). Salve novamente a imagem, agora com os pontos de controle.

Para encerrar o trabalho no Google Earth, clique com o botão direito do mouse sobre a pasta que você criou, no menu que aparece clique na opção “Salvar lugar como”, e salve como arquivo .kml os pontos de controle que criamos.

Agora, no gvSIG, crie uma nova vista com EPSG 4326, e adicione a segunda imagem (a dos pontos) e o arquivo kml dos pontos de controle. Se os pontos não estiverem aparecendo, clique com o botão direito sobre a camada no ToC, e escolha a opção “Zoom na camada”.

Em seguida, vamos acessar o georreferenciamento: com a camada da imagem selecionada no ToC, clique em “Camada > Transformações Geográficas > Georreferenciamento”, ou através dos ícones correspondentes:

Abrirá uma nova janela, onde configuraremos o nosso geoprocesso:

Em “Tipo de georreferenciamento”, selecionamos a opção “Com cartografia de referência”, e no menu suspenso logo abaixo selecionamos a Vista onde estão os pontos que inserimos (isso se houver mais de uma Vista em nosso projeto).

Em “Arquivo de georreferenciamento” clicamos no botão “Selecionar” e selecionamos a nossa imagem que queremos georreferenciar (a que tem os pontos de controle).

Em “Arquivo de saída” não precisamos alterar e, finalmente, em “Algoritmo de georreferenciamento”, deixamos selecionada a opção “Transformação afim”. Finalmente, clicamos no botão “Aceitar”, e seremos apresentado à nossa janela de georreferenciamento:

Como dito anteriormente, não vou explicar como fazer o georreferenciamento. Estou assumindo que você já sabe fazê-lo. O truque aqui é deslocar cada ponto de controle para o centro da visualização e dar zoom até que seja possível posicionar o ponto de controle do georreferenciamento de maneira precisa. Posicione primeiramente o ponto da imagem, depois posicione o ponto da camada de pontos. Nessa você deverá dar o máximo de zoom, pois você estará diminuindo a margem de erro. Feitas as aproximações, clique no ícone de adicionar novo ponto, e clique no centro do ponto da camada de pontos e depois na base do pino da imagem do Google Earth:

Feito isso, desloque-se para o próximo ponto e repita o processo. No caso da camada de pontos, é melhor dar zoom menos até aparecerem todos os pontos novamente, para você ter certeza para onde você estará se deslocando. Faça isso com todos os pontos de controle que você havia inserido na imagem.

Terminado todo o processo, é de bom tom salvarmos nosso trabalho. Clicamos no ícone de “Salvar pontos de controle no arquivo de metadados anexo ao raster (RMF)”:

e respondemos “Sim” ao aviso que aparece:

Garantido que os pontos estão salvos e que não iremos correr o risco de perder nosso trabalho, o próximo passo será clicar no ícone “Testar o georreferenciamento”:

que aplicará a transformação e carregará a imagem transformada na Vista de georreferenciamento:

Podemos conferir se está tudo ok com os pontos que inserimos. Se não estiver, podemos fazer as devidas correções. Se estiver tudo ok, podemos clicar no ícone para “Finalizar o georreferenciamento”:

Seremos questionados se queremos finalizar a aplicação de georreferenciamento, ao que devemos clicar em “Sim”, e abrirá uma nova janela de confirmação, perguntando “Deseja salvar a transformação resultante como padrão para este raster?”, ao que também devemos responder afirmativamente, e finalmente seremos questionados se queremos inserir a imagem resultante na Vista, ao que também podemos responder “Sim”. Terminamos o georreferenciamento e já estamos com a imagem devidamente georreferenciada, o que podemos comprovar observando que os pontos de controle da camada kml agora estão sobre os pontos de controle da imagem do Google Earth, conforme era de se esperar:

Agora é que vem o “pulo do gato”: removemos a imagem que tinha os pontos de controle do ToC e, no gerenciador de arquivos, renomeamos o arquivo .rmf que acabamos de gerar, para que fique com o mesmo nome da imagem do Google Earth sem os pontos de controle. Feito isso, podemos inserir essa imagem no nosso trabalho, que ela já estará georreferenciada, conforme podemos comprovar pelos pontos de controle do kml:

Buenas, é isso aí… espero não ter complicado demais, pois o processo é bem simples para quem já domina o georreferenciamento. Se tiver dúvidas, use os comentários logo abaixo. Nos vemos em um próximo momento! 😉

Tags: geoprocessamento, geoprocessos, georreferenciamento, google-earth, gvSIG, tutorial

Calculadora de campos no gvSIG – um exemplo rápido

March 09, 2016 — Eliazer Kosciuk

Buenas, pessoal!

Uma dica rápida hoje, que surgiu a partir de uma dúvida que apareceu na Lista Internacional de Usuários de gvSIG: como fazer a rotulagem das feições de um mapa a partir de dois campos da tabela de um shape. Por exemplo, se temos um determinado shape de municípios, e em sua tabela de atributos temos armazenado em um campo o nome do município, e em outro campo o número de casos de um determinado evento que estamos monitorando, e queremos mostrar em nosso mapa essas informações em um único rótulo, no formato “Nome do Município (Número de casos)“.

Para resolvermos esta situação de um modo rápido, vamos lançar mão da Calculadora de Campos do gvSIG, uma ferramenta poderosa que serve para efetuarmos operações com os valores dos campos das tabelas no gvSIG, e que pode facilitar nossa vida em muitos momentos!

Considerando NOMMUN_ a coluna de nome dos municípios, NUMCAS_ a de número de casos, e ROTMC o novo campo para rotulagem, que deveremos criar como do tipo string e com comprimento suficiente para conter todos os caracteres do campo NOMMUM_ mais o número de caracteres do campo NUMCAS_ (que é numérico, e cujo tamanho portanto vai variar conforme o número máximo de casos – ex.: se forem na ordem de 1.000.000 de casos, você teria que reservar no mínimo 7 caracteres para esse campo). Entre no modo de edição, clique no nome da coluna ROTMC, clique no ícone da Calculadora de Campos (ou em menu Tabela > Calculadora de Campos),e você poderá usar a seguinte expressão:

[NOM_MUN] + " (" + toString([NUM_CAS]) + ")"

O que estamos utilizando nessa expressão? Estamos concatenando no campo ROTMC, o nome do município, que está armazenado em [NOMMUN], com a string _” (“, mais o número de casos, armazenado em [NUMCAS], que estava no formato numérico e está sendo convertido para o formato de string pela função _toString(), e, finalmente, acrescentamos a string “)”, que encerra nosso rótulo. Com isso, se tivermos em NOMMUNo valor _São Borja e em NUMCAS_ o valor 429, obteremos em ROTMC o valor São Borja (429), com o qual poderemos fazer a rotulagem do nosso mapa como proposto no início deste artigo.

Lembrando que deveremos remover qualquer seleção antes de aplicar a expressão da Calculadora de Campos, ou a mesma será aplicada apenas aos elementos selecionados. Como os números foram convertidos para string, não haverá formatação de separador de milhares; para tanto, seria necessário criar uma máscara, mas isso já complica as coisas e foge do escopo desse microtutorial…

Se você quiser saber mais sobre a Calculadora de Campos do gvSIG, pode acessar os artigos anteriores, onde já falamos sobre essa importante ferramenta:

Em breve estaremos publicando mais tutoriais sobre este assunto.

Tags: geoprocessamento, gvSIG, tutorial, geoprocessos

Criando um mapa de localização no gvSIG – Parte 3

February 27, 2016 — Eliazer Kosciuk

E chegamos ao ponto máximo do nosso artigo! Na primeira parte, obtemos e preparamos os dados que queremos mostrar no nosso mapa de localização; na segunda parte do artigo, preparamos as Vistas que serão mostradas no mapa de localização; e agora, finalmente, vamos à pratica com o modo Mapa do gvSIG. Lembrando que nosso objetivo final é publicar um mapa semelhante a esse:

Resultado final do mapa de localização executado através do gvSIG

Resultado final do mapa de localização executado através do gvSIG

Para começar, vamos abrir o projeto que salvamos ao final do último artigo. Você deverá ter uma área de trabalho semelhante a essa:

Situação atual do trabalho

Situação atual do trabalho

Acesse o modo Mapa do gvSIG, clicando no ícone Mapa na janela do Gerenciador de projetos.

Modo Mapa no Gerenciador de projetos

Modo Mapa no Gerenciador de projetos

Ao clicarmos no botão “Novo“, abrirá a janela Configurar página:

Configurando a página

Configurando a página

Vamos estudar um pouco as opções:

  • Em Tamanho da página, vamos selecionar A4. As opções vão de A0 a A4, ou personalizado, quando podemos utilizar a próxima opção para digitar manualmente a Largura e a Altura da nossa página (não usei esta última opção porque ela tem um pequeno bug que não permite selecionar a Orientação da página).
  • Em Orientação, vamos selecionar a orientação da página, se em modo paisagem (Horizontal) ou modo porta-retrato (Vertical). Para este mapa selecionei Horizontal, mas, se você selecionar Vertical com um Tamanho de página A4, irá obter a mesma largura de página que tem uma folha tamanho A5, conforme usada no post do Narcélio de Sá, citado na primeira parte deste artigo.
  • Em Resolução do resultado, vamos selecionar a qualidade de impressão da nossa página, que pode ser:
    • Baixa: 72 pontos por polegada, ideal para ser usado para exibição em páginas web ou como rascunho;
    • Normal: 300 pontos por polegada, adequada para impressões gerais, que é a qualidade que vamos selecionar neste trabalho; e
    • Alta: 600 pontos por polegada, adequada para impressões de alta qualidade, e em grandes formatos.
  • Na próxima seção, podemos decidir qual Vista vamos inserir no nosso Mapa quando aberto pela primeira vez. Muito interessante se queremos inserir apenas uma Vista, vamos deixar desmarcado desta vez, pois vamos trabalhar com várias Vistas em um mesmo Mapa.
  • E na última seção, Personalizar margens, podemos personalizar as margens da nossa página, de modo a refletir nossas configurações. Deixei 3,0 cm na margem esquerda e 2,0 cm na margem direita, que são os padrões para artigos na norma ABNT.

Definidas as configurações da página do nosso Mapa, podemos clicar em Aceitar, e abrirá a janela do modo Mapa. Ainda no Gerenciador de projetos, podemos Renomear o nosso mapa, para facilitar a identificação.

Área de trabalho do modo Mapa

Área de trabalho do modo Mapa

Podemos notar que o gvSIG coloca uma moldura na nossa folha, delimitando a área útil definida pelas margens que configuramos anteriormente.

Vamos agora inserir a nossa Vista Estado no mapa. Para tanto, acesse o menu Mapa > Inserir > Vista, ou clique no ícone Inserir Vista da barra de ferramentas. Em seguida, clique na página, no local onde deseja inserir a Vista. Será aberta uma nova janela, onde poderemos definir as Propriedades do marco da Vista:

Janela Propriedades do marco da Vista

Janela Propriedades do marco da Vista

Vamos selecionar a Vista Estado, que é a que queremos inserir neste momento. Se você ainda não aplicou Transparência ao fundo da Vista, conforme explicado na segunda parte deste artigo, poderá clicar no botão Configurar Vista e fazer esse procedimento agora. Não é necessário alterar as demais configurações. Podemos clicar no botão Aceitar para inserirmos a Vista no nosso Mapa.

Inserindo uma Vista no Mapa

Inserindo uma Vista no Mapa

Podemos notar que a Vista é inserida com vários pontos de manipulação, que aparecerão ao redor da Vista sempre que ela estiver selecionada. Quando a Vista estiver neste modo, poderemos movê-la e redimensioná-la utilizando estes manipuladores. Vamos aproveitar para reposicionar esta Vista no canto esquerdo da página, e aumentarmos o tamanho de modo que possamos visualizar o contorno do Estado.

Redimensionando a Vista

Redimensionando a Vista

Notamos também a presença da Tabela de Conteúdos (ToC) no lado esquerdo da janela Mapa, onde podemos ver as camadas que estão presentes na Vista que está selecionada, e podemos alterar as suas configurações. Vamos fazer isso agora. Dê um duplo clique no símbolo logo abaixo da camada dos municípios da Mesorregião na ToC, e será aberta a sua janela do Seletor de simbologia, onde iremos alterar as configurações de simbologia da camada, para que o mapa seja melhor visualizado ao imprimí-lo.

Configurações de simbologia da camada

Configurações de simbologia da camada

Nas Opções, continuamos a deixar desabilitada a Cor do preenchimento, e a Cor da bordatambém continua como preta. O que vamos alterar é a Largura da borda, que estava em “2,0” “Pixels” “no mundo”, vamos alterar para “0,50” “Milímetros” “no papel“. Com isso, vamos obter uma linha mais grossa, destacando a camada de municípios. Feita a alteração, basta clicar em Aceitar para que as alterações sejam aplicadas e voltemos para a janela Mapa.

Repita este procedimento, agora sobre a camada do Estado, alterando a Largura da borda para “0,25” “Milímetros” “no papel“, obtendo assim uma linha um pouco mais fina.

Terminamos de inserir a Vista Estado no nosso mapa. Vamos agora repetir esse procedimento para inserir as Vistas Mesorregião, Microrregião e Município no mapa, cuidando para repetir as alterações que fizemos na simbologia das camadas. Ao final, devemos ter nossa área de trabalho semelhante a essa:

Janela Mapa com todas as Vistas inseridas

Janela Mapa com todas as Vistas inseridas

Vamos agora deslocar nossas Vistas e redimensioná-las, para obter uma distribuição mais agradável. Se em algum momento você precisar que uma Vista sobreponha outra, você pode definir quem estará na camada superior selecionando a Vista e utilizando o menu Mapa > Gráficos > Colocar à frente ou Mapa > Gráficos > Colocar atrás. Na próxima imagem podemos visualizar o mapa com as Vistas melhor posicionadas:

Vistas posicionadas no Mapa

Vistas posicionadas no Mapa

Depois de obter uma distribuição que nos agrada visualmente, vamos agora para os detalhes. Primeiramente, vamos fazer as linhas que ligam visualmente uma Vista à Vista anterior. Para isso, vamos usar a ferramenta Polilinha (menu Mapa > Inserir > Polilinha ou através do ícone Inserir polilinha da barra de ferramentas). Clicamos no primeiro ponto onde vamos inserir a polilinha, clicamos no segundo ponto, e em seguida clicamos com o botão direito e, no menu que se abre, selecionamos Finalizar. Teremos a nossa primeira linha traçada:

Traçando linhas com a ferramenta polilinha

Traçando linhas com a ferramenta polilinha

Como podemos notar, a linha é criada já com os manipuladores vinculados a ela. Com um duplo clique sobre a linha abrimos a janela Propriedades do gráfico, onde devemos alterar a sua Cor para preta, e redefinir sua Largura para “0,40” “Milímetros” “no papel“, clicando em seguida em Aceitar.

Redefinindo propriedades da linha

Redefinindo propriedades da linha

Repetimos este processo, desenhando as demais linhas necessárias:

Todas as linhas adicionadas

Todas as linhas adicionadas

Próximo passo: inserir os textos do nosso mapa. Devemos acessar o menu Mapa > Inserir > Texto, ou clicar no ícone Inserir texto da barra de ferramentas. Em seguida clicamos na janela Mapa, no local onde desejamos inserir o texto, e será aberta a janela Propriedades do texto, onde vamos inserir o texto que desejamos, e definir suas propriedades.

Janela Propriedades do texto

Janela Propriedades do texto

Digitamos o texto, selecionamos o alinhamento, digitamos o Tamanho da fonte e em seguida clicamos em Aceitar, e o texto será inserido em nosso Mapa.

Texto inserido no Mapa

Texto inserido no Mapa

Repetimos o processo com os outros textos, alterando o tamanho da fonte para obtermos o efeito desejado:

Todos os textos posicionados

Todos os textos posicionados

E agora, vamos ao último detalhe do nosso mapa: a inserção da Rosa de Ventos. Acessamos o menu Mapa > Inserir > Norte, ou clicamos no ícone Inserir norte da barra de ferramentas. Em seguida, clicamos no local onde desejamos inserir a Rosa de Ventos no Mapa. Abrirá a janela Propriedades do marco de imagens, onde poderemos selecionar o modelo de Rosa de Ventos que queremos inserir, bem como em selecionar qual a Vista que a Rosa de Ventos será vinculada.

Selecionando a Rosa de Ventos

Selecionando a Rosa de Ventos

Selecionada a Rosa de Ventos que nos agrada, basta clicar no botão Aceitar, e ela será inserida no nosso Mapa.

Resultado final do trabalho

Resultado final do trabalho

E está pronto o nosso Mapa de Localização! Agora, só falta imprimir o nosso trabalho (menu Mapa > Imprimir, ou através do ícone Imprimir da barra de ferramentas), ou ainda exportá-lo para PDF (esta opção só está disponível na barra de ferramentas, através do ícone Exportar para PDF).

Infelizmente não localizei a opção Exportar para JPG, ou Exportar para imagem. Parece que ainda não foi implantada nas versões 2.x do gvSIG. Enquanto essa característica não é implementada, você pode usar a ferramenta Exportar para PDF para gerar um arquivo PDF do mapa, abrindo depois este arquivo no GIMP, onde você pode gerar a imagem JPG sem problemas.

E chegamos ao final do nosso artigo. Já sabemos como gerar um Mapa de Localização no gvSIG. Espero que tenhamos aprendido um pouco mais a lidar com este excelente programa GIS Open Source. Qualquer dúvida, use os comentários!

Nos vemos em breve!

Tags: gvSIG, geoprocessamento, geoprocessos, modo-mapa, tutorial

Criando um mapa de localização no gvSIG – Parte 2

February 26, 2016 — Eliazer Kosciuk

Buenas, pessoal! Voltamos com a segunda parte do artigo sobre como elaborar um mapa de localização utilizando o compositor de Mapas do gvSIG.

Dando continuidade ao trabalho que iniciamos na primeira parte deste artigo, abra o projeto que salvamos no final do nosso trabalho. Devemos ter nele uma Vista nomeada Trabalho, onde estão as camadas Município, Microrregiões, Mesorregiões e Estado, referentes ao Estado do RS. Além disso, criamos também os arquivos shapes referentes às divisas do município de Ivorá, a Microrregião de Restinga Seca e a Mesorregião Centro Ocidental Riograndense, além dos arquivos shapes contendo os municípios abrangidos por essas Micro e Meso regiões. Com esses arquivos em mãos, podemos dar continuidade ao nosso labor. O próximo passo será definirmos as Vistas que farão parte do nosso mapa.

Definindo as Vistas que farão parte do mapa

Com o projeto restaurado, acesse novamente a janela do Gerenciador de projetos (“menu Exibir > Gerenciador de projetos” ou “Alt + P“). Selecione o Tipo de documento > Vista, e crie quatro novas Vistas, com as mesmas configurações da Vista já existente, renomeando elas para Estado, Mesorregião, Microrregião e Município. A nossa área de trabalho deverá ficar semelhante a essa:

Área de trabalho com as Vistas criadas

Área de trabalho com as Vistas criadas

Agora vamos popular estas Vistas. Abra a Vista Estado, e adicione o shape do Estado do Rio Grande do Sul (baixado do IBGE) e o shape dos municípios abrangidos pela Mesorregião Centro Ocidental Riograndense. Altere as propriedades da camada, de forma que os polígonos fiquem sem preenchimento e com a cor da borda preta. Na camada referente aos municípios, selecione a Largura da borda em “2.0″pixels” “no mundo” para dar um destaque maior.

Definindo estilo para os polígonos

Definindo estilo para os polígonos

O resultado final deve ficar semelhante a esse:

Vista "Estado"

Vista “Estado”

Em seguida, repita o processo na Vista Mesorregião, inserindo o shape da Mesorregião Centro Ocidental Riograndense (que foi exportada na primeira parte do artigo) e o shape dos municípios que são abrangidos pela Microrregião de Restinga Seca, aplicando os mesmos estilos da Vista anterior aos polígonos.

Vista "Mesorregião"

Vista “Mesorregião”

A próxima será a Vista Microrregião. Nela vamos inserir o shape da Microrregião de Restinga Seca e o shape do município de Ivorá, sempre repetindo os mesmos estilos anteriores.

Vista "Microrregião"

Vista “Microrregião”

Finalmente, na Vista Município, vamos inserir apenas o shape do município.

Vista "Município"

Vista “Município”

E agora, um último detalhe, que é o “pulo do gato”, e que nos permitirá sobrepor as Vistas sem nos preocuparmos com o fato de que uma Vista poderia esconder outra Vista que estivesse abaixo dela. Vamos alterar a transparência da Cor de fundo da Vista. Para tanto, acesse novamente a seção Vista no Gerenciador de projetos, selecione a Vista Municípios, e clique no botão Propriedades. Será aberta a janela Propriedades da Vista. Nela, clique no botão “” ao lado da opção Cor de fundo, para que possamos aplicar transparência à cor de fundo da Vista.

Janela "Propriedades da Vista"

Janela “Propriedades da Vista”

Na janela Cor de fundo que se abre, clique na aba HSV, e na opção Transparência deixe o valor em 100%. Com isso, estamos deixando o fundo da nossa Vista totalmente transparente. Em seguida, clique em OK para aplicar os valores e fechar esta janela, voltando para a janela Propriedades da Vista, onde devemos clicar no botão Aplicar e em seguida no botão Aceitar.

Janela "Cor de fundo"

Janela “Cor de fundo”

Esse procedimento deve ser repetido nas Vistas Estado, Mesorregião e Microrregião. Com isto, estaremos com todas as Vistas prontas para serem usadas na composição do nosso Mapa de Localização. Mas isso é assunto para a terceira parte do artigo…

Não se esqueça de salvar o projeto, para que possamos continuar a partir daqui. Nos vemos em breve!

Tags: gvSIG, geoprocessamento, geoprocessos, modo-mapa, tutorial

Criando um mapa de localização no gvSIG – Parte 1

February 25, 2016 — Eliazer Kosciuk

Buenas, pessoal!

Para marcar a volta às atividades no blog, nada melhor do que um artigo abordando o modo Mapa do gvSIG, esse incompreendido e muitas vezes mal falado compositor de mapas. A inspiração para o artigo veio através da postagem do Narcélio de Sá, que desenvolveu o tema de como criar um mapa de localização com muita desenvoltura utilizando as facilidades que o QGIS oferece através do seu compositor de mapas.

Muito embora o gvSIG não ofereça um modo de Mapa tão avançado, que disponibilize todos os recursos apresentados no referido artigo, ainda assim é possível criar um mapa de localização que não fica devendo nada para o que foi apresentado, como podemos conferir na imagem abaixo, que mostra o resultado final do nosso exercício:

Resultado final do mapa de localização executado através do gvSIG

Resultado final do mapa de localização executado através do gvSIG

Nesta primeira parte vamos tratar da obtenção dos arquivos necessários e da preparação das camadas e das Vistas que iremos utilizar para compor o nosso mapa. Na segunda parte deste artigo iremos tratar da composição do mapa em si, e dos “truques” que utilizamos para alcançar o nosso objetivo final.

Obtenção dos dados

Todos os arquivos utilizados para compor este mapa foram obtidos no site do IBGE, da malha digital de Municípios de 2014, que pode ser obtida acessando o ftp do IBGE. Estarei utilizando os arquivos referentes ao Rio Grande do Sul, mas sinta-se livre para baixar e utilizar os dados do seu Estado…

Dentro da pasta de cada Estado existem quatro arquivos compactados, contendo os arquivos shape referentes ao contorno do Estado, suas mesorregiões, microrregiões e a divisão municipal. Baixe todos os arquivos e descompacte na sua pasta de trabalho.

Preparação do ambiente de trabalho

De posse dos arquivos necessários, vamos começar a preparar nosso ambiente para montar as Vistas que serão usadas na composição do nosso mapa. Para isso, abra o gvSIG, crie um novo projeto e adicione uma nova Vista (pode deixar a projeção padrão, EPSG 4326 – WGS 84, que é muito semelhante a projeção SIRGAS 2000, utilizada pelo IBGE). Eu renomeei esta Vista como “Trabalho”.

Criada a Vista, acesse a mesma e vamos inserir os quatro arquivos shape que baixamos (“Vista > Adicionar camada“, ou “Alt + O” ou no ícone “Adicionar camada“). Pode adicionar os quatro arquivos simultaneamente.

Inserindo shapes na Vista de trabalho.

Inserindo shapes na Vista de trabalho.

Para facilitar o trabalho, renomeie cada camada inserida na ToC (clique com o botão direito do mouse sobre o nome da camada na ToC, e clique na opção “Renomear“, de modo a refletir o que cada camada representa (Estado, Mesorregiões, Microrregiões e Municípios).

mapalocaliza03

Camadas renomeadas

Exportando feições selecionadas como shapes

Com isso preparado, podemos começar a separar os shapes que usaremos para compor os mapas. Em primeiro lugar, vamos separar o shape do município que iremos localizar no nosso mapa. Aqui, estou separando o município de Ivorá, RS. Selecione a camada dos Municípios na ToC, e deixe ela por cima das outras camadas, ou então desabilite a visão das outras camadas, para que possamos visualizar apenas a camada dos municípios.

Com a camada Municípios selecionada, utilize a ferramenta de seleção simples (“Seleção > Seleção simples“, ou o ícone “Seleção simples“) para selecionar o município desejado. Se estiver difícil de localizar o município desejado, utilize as ferramentas de Zoom para navegar na camada, e faça uso da ferramenta de consulta “Informação por ponto” (“Camada > Consulta > Informação por ponto” ou no ícone “Informação por ponto“), que mostra os atributos do ponto selecionado:

Utilizando a ferramenta de consulta "Informação do ponto"

Utilizando a ferramenta de consulta “Informação do ponto”

Selecionado o município, vamos exportá-lo como arquivo shape individual através do menu “Camada > Exportar para…“, salvando o arquivo como “Ivora.shp” (para maiores detalhes sobre como exportar uma feição selecionada como arquivo shape, acesse o tutorial). Não é necessário inserir a camada resultante na Vista de trabalho.

Repita esse processo com a camada Microrregiões, salvando a Microrregião Restinga Seca, e com a camada Mesorregiões, salvando a Mesorregião Centro Ocidental Rio Grandense, que são as regiões onde está inserido o município objeto do nosso estudo.

Recortando camadas

Para que tenhamos um incremento visual em nosso mapa, vamos precisar recortar da nossa camada de municípios, os municípios que fazem parte da Microrregião Restinga Seca e da Mesorregião Centro Ocidental Rio Grandense. Para isso, vamos utilizar o geoprocesso Cortar, presente na Caixa de ferramentas de Geoprocessos do gvSIG.

Vamos começar pela Microrregião: habilite novamente a visualização da camada Microrregiões na ToC e, se ainda não estiver, posicione ela acima da camada Municípios, para que possamos vê-la na área de trabalho da Vista. Utilizando novamente a ferramenta de Seleção simples, clique na Microrregião Restinga Seca, para deixá-la selecionada. Em seguida, clique no menu Ferramentas > Geoprocessos > Caixa de Ferramentas, e dê um duplo clique no geoprocesso Cortar (Algoritmos > Geoprocessos do gvSIG > Camadas vetoriais > Cortar).

Janela do geoprocesso Cortar

Janela do geoprocesso Cortar

Na janela do geoprocesso Cortar que se abre, defina os parâmetros para que sejam recortados os municípios da Camada de entrada Municípios, com a máscara da microrregião selecionada da Camada de recorte Microrregiões. Para maiores detalhes sobre o geoprocesso Cortar, visite o artigo Geoprocesso Cortar (Clip) no gvSIG 2.x.

Ao encerrar o geoprocesso Cortar, teremos inseridas na Vista três novas camadas: uma de linhas, uma de pontos, e uma de polígonos, que é a que nos interessa. Descarte as duas primeiras e exporte a camada de polígonos como Microrregiãomunicipios.shp_ através do menu Camadas > Exportar para…

Repita esse procedimento com a camada Mesorregiões, criando um shape dos municípios abrangidos pela Mesorregião Centro Ocidental Riograndense.

Terminada esta fase, temos todos os arquivos necessários para criarmos as Vistas que farão parte do nosso mapa de localização, mas isso é assunto para a parte 2 deste artigo. Salve o seu projeto para que possamos continuar do ponto onde paramos.

Nos vemos em breve!

Tags: gvSIG, geoprocessamento, geoprocessos, modo-mapa, tutorial

Exportar feição selecionada no gvSIG 2.x

February 24, 2016 — Eliazer Kosciuk

Este é um dos procedimentos básicos de qualquer GIS, e hoje vamos ver como fazer essa operação no gvSIG 2.x (o procedimento é semelhante para as versões anteriores do gvSIG, mudando apenas algumas partes na interface).

Para esse exercício, vamos utilizar o shape dos municípios do Estado do Rio Grande do Sul, que pode ser obtido na malha digital dos municípios, no ftp do IBGE. Inserido a camada em uma Vista do gvSIG, vamos selecionar o município de nosso interesse, que queiramos exportar para um novo shape contendo apenas as informações referentes daquela feição.

Tenha certeza de que a camada contendo a feição que você queira exportar está ativa na ToC, e em seguida, utilize a ferramenta de seleção simples (“Seleção > Seleção simples“, ou o ícone “Seleção simples“) para selecionar o município desejado.

Selecionando município a exportar

Selecionando município a exportar

Se estiver difícil de localizar o município desejado, utilize as ferramentas de Zoom para navegar na camada, e faça uso da ferramenta de consulta “Informação por ponto” (“Camada > Consulta > Informação por ponto” ou no ícone “Informação por ponto“), que mostra os atributos do ponto selecionado:

Utilizando a ferramenta de consulta "Informação do ponto"

Utilizando a ferramenta de consulta “Informação do ponto”

Conforme podemos verificar, estamos selecionando o município de Santa Maria para exportar. Podemos conferir que a feição está selecionada pelo fato da mesma mudar de cor (para amarelo, neste caso. A cor da feição selecionada pode ser alterada nas preferências).

Com a feição selecionada, vamos exportá-lo como arquivo shape individual. Para tanto, acessamos o menu “Camada > Exportar para…” e, na janela que se abre, selecionamos a opção “Formato shape“, clicando em seguida no botão “Seguinte“.

Janela "Exportar para..."

Janela “Exportar para…”

Na sequencia, abrimos o botão “” para navegar até o nosso diretório de trabalho, e nomeamos o nosso novo arquivo (no caso, SantaMaria.shp), clicando no botão “Abrir” e depois, novamente em “Seguinte“.

Definindo o nome do arquivo a exportar

Definindo o nome do arquivo a exportar

Na aba de “Opções de exportação” que se abre, cuidar para selecionar a opção “Os registros selecionados” na seção “Indique quais registros quer exportar”. Feito isso, basta clicar no botão “Exportar” para terminar o processo.

Exportando apenas as feições selecionadas

Exportando apenas as feições selecionadas

Ao clicarmos em “Exportar”, a exportação será realizada para o arquivo definido anteriormente e abrirá uma janela perguntando se queremos inserir a nova camada na Vista atual.

Definir se queremos inserir a nova camada na Vista atual

Definir se queremos inserir a nova camada na Vista atual

Definido se queremos ou não inserir a nova camada na Vista, podemos terminar o processo clicando em “Fechar” na janela de Exportação, com o que voltamos à janela da Vista onde estávamos trabalhando.

Tags: gvSIG, geoprocessamento, geoprocessos, tutorial

Geoprocesso Cortar (Clip) no gvSIG 2.x

February 24, 2016 — Eliazer Kosciuk

O geoprocesso Cortar (também conhecido como Clip) é utilizado quando queremos recortar uma camada vetorial (pontos, linhas e/ou polígonos) utilizando outra camada como área de recorte.

Para exemplificar este geoprocesso, vamos recortar os municípios que fazem parte de uma Microrregião do Estado do Rio Grande do Sul. Para tanto, vamos usar duas camadas: a camada dos Municípios do RS, e a camada das Microrregiões do RS. Ambos os shapes podem ser obtidos no ftp do IBGE, na malha digital dos municípios.

Inseridas as duas camadas na Vista, vamos selecionar na camada das Microrregiões, a microrregião de nosso interesse (no caso, a Microrregião de Restinga Seca). Em seguida, abrimos o menu das ferramentas de geoprocessamento do gvSIG (menu Ferramentas > Geoprocessamento > Caixa de ferramentas), e clicamos no geoprocesso Cortar (Algoritmos > Geoprocessos do gvSIG > Camadas vetoriais > Cortar).

Acessando o geoprocesso Cortar

Acessando o geoprocesso Cortar

Abrirá a janela do geoprocesso Cortar, onde poderemos definir os parâmetros do recorte que queremos fazer:

Janela do geoprocesso Cortar

Janela do geoprocesso Cortar

Na seção Entradas, selecionamos como Camada de entrada, a camada que desejamos recortar (Municipios, no nosso caso); como Camada de recorte, selecionamos a camada que servirá como máscara de recorte (Microrregiões, no exemplo).

Como queremos cortar da camada Municípios apenas aqueles municípios que fazem parte da Microrregião de Restinga Seca, selecionada anteriormente na camada Microrregiões, na seção Opções, selecionamos a opção “Feições selecionadas (Camada de recorte)“.

Obs.: Caso quiséssemos selecionar todas as feições da camada de entrada que são cobertas por todas as feições presentes presentes na camada de recorte, deixamos esta segunda opção sem selecionar (interessante quando temos apenas uma feição na camada de recorte). A primeira opção desta seção (“Feições selecionadas (Camada de entrada)“) serve para que sejam recortadas apenas aquelas feições que estão selecionadas na camada de entrada. Seria o caso, por exemplo, de que quiséssemos selecionar apenas alguns municípios que fazem parte da microrregião selecionada como máscara de recorte.

Finalmente, na seção Saídas, selecionamos os arquivos que queremos gerar. A opção padrão é Salvar em arquivo temporário, mas podemos selecionar ou criar o arquivo de saída clicando no botão “” ao lada da opção. Podemos ver também que serão criados três tipos de arquivos vetoriais: Polígonos, Linhas e Pontos. Como neste caso só nos interessam os polígonos, criei apenas o arquivo shape correspondente. Mesmo assim, as outras duas camadas serão inseridas na ToC, devendo ser eliminadas posteriormente.

Clicando no botão “Aceitar” o geoprocesso Cortar é aplicado conforme os parâmetros definidos e as camadas criadas são inseridas na Vista atual.

Resultado final do geoprocesso Cortar

Resultado final do geoprocesso Cortar

Tags: gvSIG, geoprocessamento, geoprocessos, tutorial

Cálculo de área entre curvas de nível - voltando ao assunto

July 10, 2013 — Eliazer Kosciuk

Buenas, pessoal!

A algum tempo atrás publicamos um tutorial sobre Cálculo de área entre curvas de nível, onde procuramos resolver uma dúvida que surgiu na lista de usuários do gvSIG através da aplicação de vários geoprocessos, e onde pudemos aprender várias técnicas do gvSIG. No entanto, no referido artigo trabalhamos com uma simplificação dos dados, e quando fomos trabalhar com dados “reais”, num segundo momento, percebemos que estavam ocorrendo alguns problemas com o procedimento, e não estava sendo gerado o resultado esperado.

Uma das vantagens de trabalhar em comunidade é que o conhecimento é compartilhado, bem como as tentativas de resolver os problemas que aparecem. E foi com a ajuda do Gustavo Agüero Córdoba, que mantém o excelente blog GvSig Consultores AA, que conseguimos não apenas resolver o problema que apareceu, mas também ampliar os conhecimentos não só sobre o gvSIG, mas também sobre os geoprocessos, o Sextante e outras ferramentas que estão disponíveis para a nossa utilização. O objetivo desse artigo é compartilhar esse conhecimento que foi gerado. Vamos aos fatos:

Revisando a questão geradora apresentada, nosso objetivo será calcular a área existente entre uma série de curvas de nível, que foram digitalizadas na forma de um arquivo shape de linhas. Para isso, teremos que transformar essas linhas em polígonos, para que seja possível medir a área.

Para trabalharmos com dados reais, estarei utilizando os arquivos shapes das curvas de nível do estado do Rio Grande do Sul, obtidos do DVD Base Vetorial Contínua do Rio Grande do Sul – Escala 1:50.000, material editado pelo Laboratório de Geoprocessamento do Centro de Ecologia da URGS. Por razões de direitos autorais, e também de tamanho do arquivo, não estarei disponibilizando o arquivo total, e sim apenas um arquivo com os shapes da área de interesse e as respectivas curvas de nível que estão contidas na área de interesse que iremos trabalhar.

Nessa primeira parte do tutorial iremos trabalhar no gvSIG passo-a-passo, executando cada um dos algoritmos necessários para alcançar o nosso objetivo. Em um próximo tutorial mostraremos como automatizar o processo através da execução de um modelo do sextante, que iremos criar.

Buenas… chega de conversa e vamos botar a mão na massa! Em primeiro lugar, vamos criar um projeto, e nele inserir uma nova vista, com projeção WGS84/UTM zone 22S (EPSG 32722), que é o sistema de referência utilizado pelo shape que iremos trabalhar. Nesta vista, inseri o shape das curvas de nivel do RS, e também o shape da área de interesse que queremos trabalhar, conforme pode ser visualizado abaixo:

curvas01

Neste tutorial iremos utilizar apenas os geoprocessos disponibilizados pelo Sextante, muito embora alguns dos algoritmos também estejam disponíveis nas ferramentas de geoprocessamento do gvSIG.

O primeiro processo que iremos aplicar é o Cortar (ou Clip), para podermos selecionar apenas as curvas de nível que estão dentro da nossa área de interesse.

curvas02

Para tanto, abrimos o Sextante e procuramos pelo geoprocesso Cortar (Clip). Na janela que abre, selecionamos a camada das curvas de nível como Camada a recortar, e a camada da área de interesse como Camada de recorte. Em seguida, selecionamos o local e o nome do arquivo que iremos gerar, no campo Camada recortada [vetorial], e clicamos em OK. O geoprocesso Cortar será aplicado, e teremos uma nova camada no nosso TOC, com o resultado: uma camada shape (vetorial) de linhas que representam as curvas de nível existentes na nossa área de interesse. A partir de agora podemos descartar a camada de curvas de nível total, e aproveitar para renomear a camada de resultado para algo mais significativo, de forma a não nos perdermos no processo. Lembramos que o arquivo que está disponibilizado para download contém exatamente esses dois shapes, portanto, você poderá executar o processo com esse material.

curvas03

Muito bem. Teoricamente poderíamos aplicar o geoprocesso Poligonar linhas (Polygonize) diretamente sobre essa nova camada gerada, que teríamos o resultado que buscamos. Vejamos o que acontece. Primeiramente, os dados de entrada:

curvas04

E o resultado obtido:

curvas05

Como podemos ver, não obtivemos o que esperávamos! Mas, por quê? A resposta é simples, e está contida na descrição da rotina que utilizamos: “Este algoritmo converte linhas em polígonos, considerando apenas as bordas (limites ou fronteiras), as quais descrevem áreas fechadas, e sem retornar polígonos sobrepostos”. Ou seja: o algoritmo aplicado fez apenas o que ele foi programado para fazer… converteu apenas as linhas cujas áreas estavam fechadas. As demais não puderam ser transformadas em polígonos por não estarem fechadas.

Para contornarmos esse problema precisamos forçar o fechamento dessas curvas. Como fazer isso? Utilizando o polígono definido pela área de interesse, que contorna a nossa área, e unindo ele com as curvas de nível. Esse processo deve ser feito em dois passos, pois a área de interesse é um polígono, e precisaremos antes transformá-la em uma polilinha, para depois podermos finalmente uni-la com as curvas de nível. Para converter um polígono em polilinhas utilizaremos o geoprocesso… Converter polígono em polilinha (Polygons to polylines):

curvas06

Na seção Entradas, Camada vetorial, definimos como camada de Polígono a ser convertida a camada que contém a área de interesse, e definimos em Resultados, Linhas [vetorial], o caminho e o nome para o arquivo shape que será gerado pelo algoritmo. Ao clicarmos em OK o geoprocesso será aplicado e obteremos como resultado uma nova camada, que contém a nossa área de interesse, agora como uma flamante polilinha:

curvas07

Agora podemos passar para o próximo passo: juntar as duas camadas de polilinhas, de modo a forçar o fechamento das curvas de nível, utilizando o geoprocesso Juntar (Merge):

curvas08

Na janela do algoritmo Juntar (Merge), na seção Entrada, Camada vetorial, definimos como Camada principal a camada que contém as curvas de nível, e como Camadas adicionais selecionamos a camada que geramos no passo anterior, contendo a nossa área de interesse transformada em polilinha. Ao clicarmos em OK o geoprocesso será aplicado e obteremos como resultado uma nova camada contendo a junção das duas camadas que especificamos:

curvas09

Mais uma vez, teoricamente, agora já poderíamos aplicar o geoprocesso Poligonar linhas (Polygonize) e teríamos o nosso resultado esperado. Se os dados com os quais estivermos trabalhando estiverem corrigidos topologicamente, poderíamos estar acabando o nosso trabalho. No entanto, não é esse o caso, como pode ser visto na figura abaixo, que mostra o resultado da aplicação do algoritmo Poligonar linhas (Polygonize) na camada que obtemos no passo anterior:

curvas09a

Isso acontece porque os nossos dados não foram tratados topologicamente, conforme pode ser conferido na próxima figura, onde demos um zoom na área de curvas de nível e selecionamos algumas delas:

curvas10

Como podemos observar, algumas linhas estão “rompidas”. São linhas que, embora pertençam a mesma curva de nível, estão separadas, mas não conseguíamos visualizar isso pela simples observação. Possivelmente esse erro foi gerado no processo de digitalização das curvas de nível. Para alcançarmos o nosso objetivo precisamos aplicar um algoritmo que consiga unir estas linhas, deixando assim o nosso arquivo topologicamente correto.

O algoritmo a ser usado neste caso será o Juntar linhas adjacentes (Join adjacent lines):

curvas11

Na seção Entrada, Camada vetorial, definimos como Camada de entrada a camada que obtivemos no último passo realizado, isto é, a camada de polilinhas resultante da junção das curvas de nível com a área de interesse. Em Opções, definimos o valor de 1.0 para Tolerância. Por último, definimos em Resultados, Resultados[vetorial], o caminho e o nome que será usado para o shape resultante do processo. Clicamos em OK, e teremos o geoprocesso aplicado e obteremos no TOC uma nova camada, agora com as polilinhas das curvas de nível devidamente corrigidas.

curvas12

Finalmente poderemos aplicar o geoprocesso Poligonar linhas (Polygonize) sobre a camada resultante:

curvas13

E obteremos a nossa camada de polígonos, contendo a área entre as curvas de nível:

curvas14

Se selecionarmos alguns dos polígonos poderemos comprovar que agora obtemos os mesmos corretamente:

curvas15

No entanto, não obstantemente… ainda teremos um passo a realizar antes de calcularmos a área entre cada curva de nível:

Como havíamos comentado anteriormente, algumas curvas de nível tinham erros de restituição, o que gerava problemas de topologia. Ao corrigirmos esses erros com a junção de linhas próximas, conseguimos solucionar os problemas de topologia, mas algumas vezes a aplicação desse processo pode gerar alguns polígonos extras que, mesmo pequenos, alteram a área resultante. Como esse arquivo em que estamos trabalhando parece ter sido afetado por todas as instâncias possíveis da Lei de Murphy, também tivemos presente este problema, como podemos observar neste zoom da aplicação da área de interesse sobre a nossa camada de polígonos final (área em amarelo):

curvas16

Para corrigir este problema basta aplicar novamente o geoprocesso Cortar (Clip), agora usando como Camada a recortar a camada de polígonos que acabamos de gerar, e como Camada de recorte, a camada que contém o polígono da área de interesse. Com isso, conseguimos delimitar os polígonos apenas dentro da área de interesse, conforme podemos visualizar abaixo:

curvas16a

Agora poderemos, finalmente, obter o dado que buscávamos no início do nosso tutorial: calcular qual a área dos intervalos entre as curvas. Para tanto, basta acessarmos o menu Camada > Adicionar informação geométrica e, na janela que se abre, selecionar em Camada a camada relativa aos polígonos das curvas de nível corrigidas e, em seguida, selecionar Área na coluna da esquerda e clicar na seta para a direita, de forma a passá-la para a coluna da direita.

curvas17a

Clicando em Aceitar, a informação referente a área de cada um dos polígonos será acrescentada na tabela de atributos do shape:

curvas17b

Sempre é interessante, em qualquer trabalho que façamos, comprovar a confiança dos resultados obtidos. Neste caso, essa comprovação está diretamente relacionada com a área total da nossa área de interesse. Sendo assim, é importante verificarmos se a soma das áreas das curvas de nível individuais é igual a área da nossa área de interesse (podem ocorrer pequenas variações para mais ou para menos, em virtude das abstrações que foram aplicadas, mas essas diferenças não podem ser significativas).

Para obtermos essa comprovação devemos utilizar uma das ferramentas que nos possibilitam obter a soma de um campo de uma tabela, como por exemplo, as estatísticas de tabela. Conforme podemos visualizar abaixo, no nosso caso está tudo “nos conformes” (a diferença está na :

curvas18

Antes de encerrarmos essa parte do tutorial, cabe uma pequena mas importante observação: muito embora todos esses procedimentos tenham sido executado no gvSIG 1.12, eles podem ser completamente reproduzidos utilizando o gvSIG 2.0, pois todos os recursos aqui utilizados estão disponíveis e funcionais na nova versão do gvSIG.

E por hoje é só, pessoal! No próximo artigo veremos como utilizar o modelador do sextante para fazermos o mesmo processo de forma automatizada. Voltamos em breve!

Tags: geoprocessamento, geoprocessos, gvSIG, modelador, sextante, tutorial

Errata no Exemplo Prático do Uso da Calculadora de Campos no gvSIG

April 17, 2013 — Eliazer Kosciuk

Buenas, pessoal! Retornamos mais cedo do que eu pensava, para corrigir um pequeno erro no artigo do Exemplo Prático do Uso da Calculadora de Campos no gvSIG. Afinal, parafraseando um versículo da Bíblia:

Errais por não ler o manual, e por não saber tudo o que o gvSIG pode fazer…

Muito embora o manual do usuário do gvSIG não seja exatamente claro quanto ao que vamos tratar, é sempre bom dar uma consultada na seção que fala sobre as Tabelas, pois sempre podemos aprender muita coisa consultando o manual!

Na verdade não chega a ser um erro, mas sim a correção sobre o fato de termos que usar uma “gambiarra” (o famoso “jeitinho brasileiro”) para editarmos uma tabela não vinculada a um shape no gvSIG. Se vocês lembrarem, para fazer isso no artigo citado, eu lancei mão do truque de inserir a tabela na Vista através da rotina de “Adicionar camada de eventos“.

Pois bem, nada disso é necessário… Na verdade, o procedimento correto para editarmos uma tabela não vinculada a um shape seria:

  • Abrir o Gestor de Projetos.
  • Na seção “Tabela”, inserir a nova tabela.
  • Ao inserirmos a nova tabela, automaticamente o gvSIG abrirá a mesma, para visualizarmos os seus atributos.
  • Neste momento, basta clicar no menu “Tabela > Iniciar edição”, para termos acesso, a partir daí, a todas as ferramentas de edição de tabelas que utilizamos no artigo anterior, inclusive a Calculadora de Campos.

errata_01

Isso significa que podemos aplicar todos aqueles procedimentos de manipulação e transformação dos dados da tabela diretamente na sessão “Tabela” do Gestor de Projetos, não sendo necessário criar uma Vista só para fazer esse trabalho.

Inclusive, para converter uma tabela no formato “CSV” para o formato “DBF”, basta abrirmos a tabela em “CSV” e, com a janela de atributos da tabela aberta, clicarmos no menu “Tabela > Exportar para > DBF”.

Obs.: Uma dica sobre tabelas no formato CSV que recebi do Prof. Marco Aurélio Painelli Marsitch, do Centro Universitário Fundação Santo André:

Infelizmente o gvSIG não importa campos numéricos via CSV: ele só reconhece as variáveis numéricas quando são advindas do formato DBF.

O CSV nos impede de fazermos mapas temáticos, calcularmos novos campos e montarmos expressões nas janelas de filtros.

Portanto, antes de trabalhar com dados numéricos em tabelas no formato CSV, precisamos necessariamente convertê-los para DBF, através do menu “Tabela > Exportar para > DBF“.

Por hoje é isso, pessoal! Espero que me desculpem por ter induzido vocês a usarem o “jeitinho brasileiro”, mas, afinal, “é errando que se aprende”… E, para quem ficou curioso para saber qual o versículo da Bíblia que eu parafraseei, aí vai:

Jesus, porém, respondendo, disse-lhes: Errais, não conhecendo as Escrituras, nem o poder de Deus. Mateus 22:29

Tags: gvSIG, geoprocessamento, geoprocessos, tutorial, calculadora-de-campos

Exemplo prático do uso da Calculadora de Campos no gvSIG

April 15, 2013 — Eliazer Kosciuk

Buenas, pessoal!

A dica de hoje nasceu de uma necessidade específica: estava a procura da relação do valor do Módulo Fiscal por município do RS, e o local onde eu encontrei essa relação foi em um site (Módulos Fiscais no RS), mas a mesma estava no formato texto, e não em uma tabela, como eu precisaria.

Em um primeiro momento pensei em utilizar a excelente dica do @geojcarlos, do blog Carta Geográfica[DICAS EXCEL] Como separar números e textos em duas colunas. No entanto, esta dica só funciona se o campo a ser separados estiver no início da string e se o mesmo tiver um comprimento fixo (o mesmo para todas as linhas da tabela). Não era o meu caso, pois na minha relação o campo que eu queria separar (o valor do módulo fiscal) estava no final da string e não tinha tamanho fixo (variava entre 1 a 3 caracteres), e ainda havia o agravante de que a primeira parte da string (o nome do município) também variava muito, podendo ser composto de um a quatro ou mais nomes, todos separados por espaços, o que complicava também o uso do espaço como separador de campos.

Buenas, foi aí que veio a ideia de utilizar a Calculadora de Campos como ferramenta para fazer o trabalho, pois, como explicamos no último artigo da série “Calculadora de Campos no gvSIG – Operações com Textos”, ela nos permite a execução de scripts em Python/Jython. Pois bem, mesmo não sendo um programador Python, procurei a ajuda dos “universitários” (neste caso, quem me ajudou foi o @Vegetando, amigo de outras paradas). Com um pouco de lógica e pesquisa nas funções de manipulação de strings do Python, chegamos ao seguinte script:

# Esta rotina serve para separar de uma string tudo que está antes do carctere separador '?'; neste caso, o nome do Município

def extrair_nome(campo):

    return campo[0:campo.rfind('?')]

# Esta rotina serve para remover a última parte de uma string, que está depois do caractere separador '?'; neste caso, o valor do Módulo Fiscal

def extrair_numero(campo):

    return campo[campo.rfind('?')+1:len(campo)]

Copie o texto do script e cole no processador de textos de sua preferência, salvando posteriormente como “modulofiscal.py”. Irei comentando o funcionamento do script conforme for explicando o procedimento que adotei.

Atenção: por algum motivo o WordPress “engole” a formatação do texto, e o Python é muito chato quanto a indentação das linhas. Na segunda linha de cada função (a que começa com “return”, você deverá dar um no início da linha, ou o Python não irá interpretar corretamente o script e acusará erro. Desculpem pelo inconveniente, e obrigado ao Alejandro por ter me alertado do erro.

Obs.: espero ter corrigido o problema com a instalação de um plugin para usar a sintaxe de códigos de programas no WordPress (o WP-Syntax). Mesmo assim, tomem cuidado com a formatação!

Em primeiro lugar, para transformar a listagem em formato texto para uma tabela no formato do tipo .dbf, que é o formato que o gvSIG trabalha, precisaremos lançar mão do OpenOffice Calc ou do seu equivalente, o LibreOffice Calc. Como tenho o último instalado nos meus micros com Ubuntu Linux, foi o que eu utilizei, mas é indiferente.

Para seguir o passo a passo, acesse primeiramente a página Módulos Fiscais no RS, selecione toda a relação de municípios e copie a mesma. Com o LibreOffice Calc aberto, clique na segunda linha da planilha e use o comando para colar. A listagem será colada na planilha, cada município ocupando uma linha da planilha, que é o que precisamos. Usaremos a primeira linha para escreveremos o nome da coluna (usei “MUNMOD”), que será usada no nosso arquivo .dbf.

modulo_fiscal_01

Neste momento, se você está usando Windows, basta apenas “Salvar como…”, selecionar “dbf” como tipo de arquivo, e tomar o cuidado de selecionar a opção “Western Europe (Windows-1252/WinLatin1)” na janela de definição da codificação de caracteres, para que não haja problemas de exibição de caracteres estranhos depois, quando abrirmos a tabela no gvSIG.

modulo_fiscal_02

Se você conseguiu salvar o arquivo como .dbf, não precisará fazer o próximo passo, podendo pular para o seguinte.

O problema que eu encontrei, usando o LibreOffice no Ubuntu Linux, foi que eu não consegui salvar como .dbf, pois ocorria um erro geral, sem muitas especificações:

modulo_fiscal_03

Como não tive tempo de procurar a correção do erro, parti para encontrar outro caminho para fazer o que eu queria: salvei o arquivo no formato .csv, que também é importado como tabela no gvSIG. O procedimento é semelhante: de posse da planilha, vá em “Salvar como…” e escolha o formato .csv. A única diferença aqui é que, no momento da seleção da codificação do arquivo, haverá mais algumas opções, relativas ao caractere separador entre os campos. Podemos deixar as opções como vem por padrão no LibreOffice, somente tomando o cuidado de selecionar “Western Europe (Windows-1252/WinLatin1)” como padrão de codificação para o arquivo. Salvo o arquivo, seja como .dbf ou .csv, podemos fechar o LibreOffice e abrir o gvSIG.

Aberto o gvSIG, no Gestor de Projetos, vamos selecionar os documentos do tipo “Tabela“:

modulo_fiscal_05

Ao clicarmos no botão “Novo“, abrirá uma janela onde poderemos clicar no botão “Adicionar” para selecionar o arquivo .csv que acabamos de salvar. Selecionado o arquivo, ele aparecerá no campo de texto “Tabelas“, e podemos clicar em “Aceitar” para que a tabela seja importada no gvSIG. Se tudo deu certo, o nome do arquivo que acabamos de importar (Mun_Mod_RS.csv, no meu caso) aparecerá no Gestor de Projetos. Clicando no menu “Camada > Ver tabela de atributos” ou no ícone correspondente na barra de ferramentas, poderemos conferir que a tabela foi importada, e que nossos dados estão lá:

modulo_fiscal_06

Observe que, mesmo tendo escolhido a codificação “Cp1252“, aparece um caractere estranho no meio da string. Não consegui determinar o porque de ter ocorrido esse problema com o caractere separador, mas creio que é algum problema de codificação na página da internet onde baixamos os dados (possivelmente foi usado um “Tab“). De qualquer forma, essa será uma informação importante, como veremos mais adiante.

Importada a tabela, precisaremos transformá-la em um arquivo shape, para podermos lidar com a mesma no gvSIG. Normalmente o gvSIG não permite esse tipo de transformação, mas vamos usar um pequeno truque para enganá-lo. Volte ao Gestor de Projetos, e crie um novo documento do tipo “Vista“. Abra a Vista que acabamos de criar e, acesse o menu “Vista > Adicionar camada de eventos” ou clique no ícone correspondente na barra de ferramentas:

modulo_fiscal_07

Abrirá o diálogo de “Adicionar camada de eventos“, bastando clicarmos em “Aceitar“, sem alterarmos nenhuma das opções:

modulo_fiscal_08

Será criada uma nova camada de eventos, contendo apenas um ponto, onde estarão vinculados todos os campos da nossa tabela. Essa informação não teria muito valor, exceto pelo fato de que agora poderemos trabalhar com a tabela na vista do gvSIG.

Mas, antes, precisamos transformar o arquivo .csv em um arquivo .dbf. Para tanto, com a janela de atributos da tabela aberta, acesse o menu “Tabela > Exportar > DBF“:

modulo_fiscal_10

E já temos nossa tabela no formato .dbf. Para quem conseguiu exportar no LibreOffice/OpenOffice, pode retomar o tutorial a partir daqui. Para não criar alguma confusão, remova a vista que havíamos criado, bem como a tabela .csv que havíamos importado anteriormente. Assim, teremos a mesma área de trabalho para ambos os casos.

No Gestor de Projetos, em “Tabelas“, crie uma nova tabela, e adicione a tabela “mun_mod_rs.dbf” que acabamos de criar. Note que agora, na tabela aberta, o caractere separador passou a ser “?“. Pode acontecer de aparecer outro caractere, mas o importante é identificar qual caractere é o separador, pois é o que será usado pela rotina para fazer a separação dos campos. Posicione o cursor dentro de uma das linhas da tabela, copie e cole em um editor de textos, selecione o caractere separador (o que está entre o nome do município e o número) e cole no script “modulofiscal.py“, em todos os lugares onde aparecer a sequencia ‘?’, e depois salve novamente o script.

modulo_fiscal_11

De volta ao Gestor de Projetos, crie uma nova Vista e insira nela a tabela .dbf que criamos através do menu “Vista > Adicionar camada de eventos“, conforme já explicado anteriormente. Feito isso, crie a camada shape, através do menu “Camada > Exportar para… > SHP“.

modulo_fiscal_12

Depois de exportar, insira a camada exportada na Vista, e delete a camada .dbf que tínhamos no ToC.

Selecione a camada criada e clique com o botão secundário do mouse em cima da mesma. No menu suspenso que abre, selecione a opção “Iniciar edição“, para entrar no modo de edição. Visualize os atributos da tabela (“Camada > Ver tabela de atributos“, ou o ícone correspondente na barra de ferramentas). Selecione a única coluna que temos na tabela, e clique em “Tabela > Modificar a estrutura da tabela“:

modulo_fiscal_13

Vamos criar dois novos campos na tabela: MUN, do tipo string, de tamanho 80, e MOD_FISC, também string, e tamanho 3.

modulo_fiscal_14

Criados os campos, clique em “Aceitar” para voltar para a janela de atributos da tabela. Selecione a coluna “MUN“, e clique no menu “Campo > Expressão” ou no ícone correspondente, para abrir a Calculadora de Campos. Agora é que a diversão vai começar realmente 😉

Na Calculadora de Campos, clique na aba “Avançada” e, clicando no botão “Explorar“, encontre o arquivo “modulofiscal.py” que salvamos no início deste tutorial. Depois de aberto, deverá aparecer o caminho completo do arquivo no campo de textos. Clique no botão “Avaliar” para que o gvSIG reconheça o script.

modulo_fiscal_15

Feito isso, volte para a aba “Geral” e no campo de expressões digite a seguinte expressão: “extrair_nome([MUNMOD])"

modulo_fiscal_16

Ao clicarmos em “Aceitar” a expressão será aplicada, e o resultado será colocado na coluna “MUN“, conforme solicitamos:

modulo_fiscal_17

Para separar o valor do módulo fiscal, selecione a coluna “MODFISC” e repita o processo, aplicando a expressão extrairnumero([MUNMOD]). No final, deveremos ter o seguinte resultado:

modulo_fiscal_18

Como último passo, precisamos converter os valores que estão na coluna “MODFISC” de string para número, para que possamos realizar operações com os mesmos. Para fazer isso, crie um novo campo na tabela, nome “MODFIS“, tipo Integer, tamanho 3. De volta a janela de atributos da tabela, clique na coluna que acabamos de criar e abra a Calculadora de Campos. Agora não precisaremos usar a aba “Avançada“, pois a função que iremos usar já está disponível na Calculadora de Campos do gvSIG. Dê um duplo clique na função “toNumber” na coluna de Comandos e, colocando o cursor dentro dos parênteses da expressão, dê um duplo clique no Campo “MODFISC” (ou digite diretamente a expressão “toNumber([MODFISC)]” no campo “Expressão“). Ao clicarmos no botão “Aceitar“, a expressão será aplicada e teremos no campo “MOD_FIS” os valores dos módulos fiscais de cada município, agora transformados em números.

Para terminar o nosso trabalho podemos voltar a editar a estrutura da tabela e deletarmos os campos “MUNMOD” e “MODFISC“, que não serão utilizados, e ficaremos com a tabela “munmod_rs.dbf” final, totalmente editada através da Calculadora de Campos do gvSIG.

Guarde esta tabela, pois iremos utilizá-la nos próximos artigos, que virão em breve. Por enquanto é isso, pessoal!

P.S.: Fiquei devendo a explicação do script. Não esperem grandes comentários, até porque como programador Python eu sou um ótimo encanador…

A base da rotina é o método  rfind() do Python. Este método retorna a localização da última posição de uma substring dentro de uma string. No nosso caso, queremos localizar a última posição do caractere separador dentro da nossa string.

Vejamos a expressão que separa o nome do município:

def extrair_nome(campo):

    return campo[0:campo.rfind('?')]

Na primeira linha, definimos o nome da função e o parâmetro que devemos passar (uma string de nome “campo”, na nossa rotina). Na segunda linha, estamos solicitando que a rotina nos retorne a substring da string “campo”, que está compreendida entre a primeira posição (0) e a posição anterior a do caractere que determinamos como separador.

Agora a expressão que separa o valor do módulo fiscal por município:

def extrair_numero(campo):

    return campo[campo.rfind('?')+1:len(campo)]

A primeira linha é a mesma explicação da anterior. Já na segunda linha estamos solicitando que a rotina nos retorne a substring da string “campo”, que está compreendida entre a primeira posição após o caractere separador (por isso o +1) até o fim da string.

Em linhas gerais, é isso. Não é uma explicação muito técnica (que me perdoem os programadores de plantão), mas creio que já é possível entender a lógica da ideia…

Tags: gvSIG, geoprocessamento, geoprocessos, tutorial, calculadora-de-campos

Diagrama de Voronoi no gvSIG + Sextante (#SLGeoTbFaz)

January 30, 2013 — Eliazer Kosciuk

Buenas, pessoal!

Mais um ponto para o software livre: a integração entre os vários projetos, agregando diversas ferramentas e potencializando o resultado final, o que nos permite obter o mesmo resultado utilizando caminhos diversos.

Hoje voltamos ao Diagrama de Voronoi. No artigo anterior vimos como gerá-lo através da extensão de Topologia do gvSIG. Hoje veremos como obter o mesmo resultado no gvSIG através das rotinas disponibilizadas pela extensão Sextante.

Iniciando a partir do resultado que obtivemos no último artigo, vamos abrir a extensão Sextante, clicando em “SEXTANTE > Caixa de ferramentas” ou clicando no ícone correspondente:

voronoi_sextante01

Será aberta a janela da ferramenta Sextante:

voronoi_sextante02

Para facilitar a localização, vamos utilizar o campo de busca (“Search“), fazendo uma busca pela palavra “voronoi“:

voronoi_sextante03

Podemos notar que aparecerão apenas a rotina referente ao Diagrama de Voronoi. Poderíamos achar a mesma ferramenta seguindo o caminho: “Algorithms > SEXTANTE > Tools for point layers > Voronoi tesellation

Basta então clicar sobre o nome da rotina que será aberta a janela correspondente. Na primeira aba precisamos definir dois parâmetros: a camada de pontos, que será o shape “parada_bus.shp”, e também o nome e o caminho do arquivo que será gerado:

voronoi_sextante04

Na segunda aba devemos definir o tamanho do arquivo que será gerado. Podemos escolher se o diagrama será gerado em relação à camada de entrada, se será defina pelo usuário, se levará em consideração o tamanho de uma vista, ou será gerada em relação ao tamanho de uma camada. Podemos selecionar a primeira opção, que gerará o Diagrama de Voronoi levando em consideração o tamanho da camada de entrada:

voronoi_sextante05

Selecionados os parâmetros que a rotina necessita, podemos clicar no botão “OK”, e o Diagrama de Voronoi será gerado, sendo automaticamente inserido na vista que estamos trabalhando:

voronoi_sextante06

Alterando os parâmetros da simbologia, podemos ver o nosso resultado final, agora gerado no gvSIG através da extensão Sextante:

voronoi_sextante07

Por hoje é isso pessoal.

Tags: geoprocessos, geoprocessamento, gis, gvSIG, sextante, SLGeoTbFaz, tutorial

Diagrama de Voronoi no gvSIG (#SLGeoTbFaz)

January 21, 2013 — Eliazer Kosciuk

Buenas, pessoal!

Como comentamos no último artigo, onde falamos sobre a instalação da extensão de Topologia no gvSIG, dissemos que a mesma seria necessária para o próximo assunto, o Diagrama de Voronoi:

Vou fazer um “CTRL-C – CTRL-V” no texto do Anderson Medeiros sobre a função do Diagrama de Voronoi, para não chover no molhado:

diagrama de Voronoi, também conhecido pela denominação de polígonos de Thiessen é utilizado para resolver problemas que envolvem conceito de proximidade em um plano. É uma das estruturas mais importantes no contexto da Geometria Computacional.

Recomendo o texto “Diagrama de Voronoi e suas aplicações em SIG“, também do Anderson Medeiros, se você quiser se aprofundar um pouco mais na parte teórica. Como o nosso objetivo é a parte prática, baixe esse arquivo de shapes, que contém dois shapes:  o shape “lotes.shp” representando as quadras de um determinado bairro, e o shape “paradasbus.shp_” representando as paradas de ônibus existentes naquela região. Utilizaremos o geoprocesso do Diagrama de Voronoi para gerarmos um diagrama que nos permita fazer uma análise espacial da distribuição das paradas de ônibus, para verificarmos se as suas localizações estão atendendo as demandas dos usuários, por exemplo. Vamos ao trabalho:

Em primeiro lugar, abra o seu gvSIG, já com a extensão de Topologia devidamente instalada (se ainda não instalou, volte ao artigo anterior neste blog). Crie uma nova Vista, no sistema de projeção SAD69 (EPSG 4291). Abra a Vista e insira na mesma os dois shapes que foram baixados:

voronoi00

Em seguida, vamos abrir o geoprocesso do Diagrama de Voronoi propriamente dito, acessando o menu “Vista > Gestor de geoprocessos“. Ao clicarmos nesta opção irá abrir a janela do Gestor de geoprocessos. Para localizar o geoprocesso do Diagrama de Voronoi é necessário navegar na árvore de Geoprocessos: “Geoprocessos > Análises > Geometria Computacional > Voronoi > TIN/Voronoi/Delaunay“:

voronoi01

Ao clicarmos nesta opção irá aparecer no lado direito da janela do Gestor de geoprocessos uma descrição dos procedimentos que serão aplicados. Basta clicarmos na opção “Abrir Geoprocesso” para abrir a janela do Geoprocesso:

voronoi02

Como “Camada de entrada” vamos selecionar o shape “paradasbus.shp“; automaticamente o gSIG nos avisará que foram selecionados 17 elementos. Selecionaremos a opção “Polígonos de Thiessen (Voronoi)” e a opção “Chew’s incremental TIN baseado em um triângulo envolvente“. Por último, clicamos no botão “Abrir_” e selecionamos o local e o nome para o shape que será criado.

Feitas estas seleções, podemos gerar o Diagrama de Voronoi, bastando para isso clicar no botão “Aceitar” e aguardar a geração do diagrama.

No final do processo, seremos apresentados a uma tela semelhante a essa:

voronoi03

Para melhorarmos a visualização e obtermos um resultado mais significativo em termos de interpretação, podemos alterar as propriedades da camada do Diagrama de Voronoi, retirando o seu preenchimento, o que nos permitirá visualizar a distribuição das paradas de ônibus e como cada conjunto de quadras está sendo atendido pelas suas respectivas paradas:

voronoi04

Por hoje é isso, pessoal! Espero conseguir tempo para colocar online todos os artigos que tenho por aqui sobre o uso do gvSIG… Um abraço a todos os que nos acompanham e nos incentivam nessa empreitada!

Tags: geoprocessos, geoprocessamento, gis, gvSIG, tutorial, SLGeoTbFaz

Instalação da extensão de topologia no gvSIG 1.12

January 17, 2013 — Eliazer Kosciuk

Estou acompanhando a série de artigos sobre Diagrama de Voronoi que o Anderson Medeiros está publicando em seu blog, e um dos artigos explica como efetuar essa operação no ArcGIS. É uma boa hora para retomarmos a série #SLGeoTbFaz. No entanto, ao abrir o gvSIG para fazer o procedimento, notei falta da opção para elaborar o Diagrama de Voronoi e, após uma breve pesquisa, descobri que seria necessário instalar a extensão de Topologia para habilitar essa função no gvSIG. Veremos agora como proceder para instalar a extensão de topologia no gvSIG, nas versões 1.12 e superiores (nas versões 1.11 e anteriores o procedimento é um pouco diferente, e será abordado ao final deste artigo). Em primeiro lugar, precisamos acessar o Gestor de Complementos, que a partir desta versão do gvSIG já está totalmente funcional. Para tanto, acessamos essa opção no menu Ferramentas > Gestor de Complementos. Ao clicarmos nesta opção, nos depararemos com a seguinte tela (clique na figura para abrir em tamanho maior):

complementos01

A primeira opção é utilizada no momento da instalação do gvSIG, a segunda é utilizada quando fazemos a instalação a partir de um arquivo disponibilizado para este fim, e a terceira opção, que é a que iremos usar, é utilizada quando queremos instalar um complemento (uma extensão do gvSIG, neste caso), a partir de um repositório do gvSIG, na web. Note que o campo logo abaixo já está preenchido com o link do repositório que iremos utilizar. Clicamos no botão “Next” para irmos à próxima tela:

complementos02

No lado direito desta tela veremos uma lista com todos os complementos que estão disponíveis para instalação a partir deste repositório. Vamos descer a lista até encontrarmos a extensão “org.gvsig.topology“, que é a que nos interessa neste momento. Selecionado o complemento que queremos instalar, clicamos novamente no botão “Next“.

complementos03

Neste momento, aparecerá uma janela alertando para o fato de que selecionamos uma versão que está em desenvolvimento ou não é oficial. Clicamos em “Continue” para seguirmos na instalação.

complementos04

Neste momento, voltaremos à janela do Gestor de complementos. Clicamos no botão “Iniciar download” para iniciarmos o processo:

complementos05

Dependendo da conexão, esse passo pode demorar um pouco, pois o programa entrará em contato com o servidor do repositório, e fará a “negociação” para iniciar o download:

complementos06

Quando o download do arquivo começa, podemos acompanhar o seu avanço.

complementos07

Terminado o download precisamos clicar novamente no botão “Next“, para seguir para a tela de instalação propriamente dita:

complementos08

Terminada a instalação do complemento que selecionamos, o botão “Finalizar” ficará disponível, bastando clicar no mesmo para terminarmos o processo.

complementos09

 Por último, somos alertados de que precisamos reiniciar o gvSIG para que as mudanças sejam aplicadas, isto é, neste caso, para que a extensão de Topologia esteja funcional no gvSIG. Pode até parecer um pouco complicado em um primeiro momento, em parte porque eu detalhei bastante o processo, mas é algo relativamente fácil e certamente menos complicado do que o processo de instalação de complementos que existia nas versões anteriores. Por sinal, para quem estiver trabalhando com versões anteriores a 1.12 do gvSIG, será necessário instalar no modo “antigo”: Acesse a página de downloads das extensões (http://www.gvsig.org/web/projects/gvsig-desktop/devel/topology), escolha a versão referente ao seu sistema operacional, e execute o arquivo que baixar. Se você estiver trabalhando com o Linux, poderá se basear em um dos tutoriais que eu já havia disponibilizado em outras ocasiões sobre a instalação de extensões no gvSIG (aqui ou aqui).

Neste artigo apresentamos o Gestor de Complementos do gvSIG, uma ferramenta importante e que passará a fazer parte do nosso modo de trabalhar com o programa, pois vem substituir o processo antigo, permitindo que não nos preocupemos com qual a sistema operacional e/ou versão do programa estamos trabalhando, ou com qual o local onde o gvSIG está instalado, pois o Gestor de Complementos gerencia todas estas informações para nós, tornando o processo transparente.

No próximo artigo veremos como aplicar o Diagrama de Voronoi com o gvSIG, utilizando a extensão de Topologia do gvSIG. Até lá!

Tags: geoprocessamento, geoprocessos, gis, gvSIG, linux, tutorial

Calculadora de campos no gvSIG: Operações com textos, parte 2

September 05, 2012 — Eliazer Kosciuk

Buenas, pessoal!

Dando seguimento ao nosso estudo do uso da Calculadora de Campos no gvSIG, vamos continuar a lidar com as operações com textos, destrinchando mais algumas funções que são disponibilizadas pelo gvSIG.

Para início de história, vamos baixar o arquivo shape sobre o qual vamos trabalhar: ARQUIVO2. Em seguida, criamos uma nova vista, com a projeção SAD69/UTMzone23S (código EPSG 29183), e inserimos o nosso novo shape, e entramos em modo de edição (se não sabe como chegar até aqui, confira o primeiro artigo desta série).

Uma dica importante para quem usa Linux: se você está visualizando caracteres “estranhos” quando abre a tabela de atributos do shape, você está enfrentando problemas com a codificação do arquivo .dbf:

erro_codificacao_dbf

Para corrigir este problema, basta seguir a dica do blog Processamento Digital: Codificação Padrão do DBF.

 Função subString: Separando partes de uma string:

Uma das funções a que precisamos recorrer frequentemente é separar partes de uma string. Na tabela vinculada ao shape que estamos trabalhando existe o campo [FONE], que contém uma string com o número do telefone, incluindo o prefixo (código de área):

calculadora de campos_txt_2_00

Vamos separar esta string em duas informações: prefixo e telefone, aproveitando os campos que já estão disponíveis na tabela. Vamos fazer essa tarefa em dois passos:

Primeiramente, selecionamos a coluna [PREFIXO], clicando no respectivo nome na tabela. Em seguida, acessamos a Calculadora de Campos (menu Campo > Expressão). Selecionamos então a opção “String”, e localizamos a função que queremos aplicar: “subString”. Ao clicarmos duas vezes sobre ela, aparecerá a seguinte expressão no campo de Expressões:

subString(,,)

Podemos então editar essa expressão, para que fique dessa forma:

subString([FONE],0,4)

calculadora de campos_txt_2_01

Com isso, estamos dizendo para o gvSIG pegar a string do campo [FONE], e separar a substring que inicia no caractere 0 (zero) e termina no caractere 4 menos 1 (para o Python, começamos a contar os caracteres a partir do zero).

Para entender melhor:

(21) 3371-9411

01234567890123

Ou seja: separaremos a substring que está contida entre o primeiro e o quarto caracter, e colocaremos o resultado no campo [PREFIXO], que estava previamente selecionado. Ao clicarmos em “Aceitar” poderemos ver o resultado da nossa expressão:

calculadora de campos_txt_2_02

Essa forma de contar pode parecer um pouco confusa no começo, mas depois a gente pega o jeito…

Agora vamos a segunda parte: selecionamos a coluna [TEL] e acessamos novamente a Calculadora de Campos. Agora, digitaremos a seguinte expressão:

subString([FONE],5,14)

calculadora de campos_txt_2_03

 Ou seja: da string presente no campo [FONE] estaremos selecionando a substring que começa no caractere 5 (o sexto caractere) e que termina no caractere 14 menos 1 (isto é, 13, ou o décimo quarto caractere). Clicando em “Aceitar”, poderemos visualizar o resultado da expressão que criamos:

calculadora de campos_txt_2_04

Como eu disse anteriormente, no começo pode parecer um pouco confuso, mas depois que entendemos o processo fica fácil de aplicar as regras e obter os resultados que precisamos ao manipularmos strings.

Concatenando strings com a função “+”

Agora vamos fazer o caminho inverso, para aprendermos a lidar com a função de concatenar strings. Como primeiro passo, crie o campo [TELEFONE] com as mesmas propriedades do campo [FONE] (string, comprimento = 24). Lembre-se que, para isso, precisamos estar no modo de edição (se você está acompanhando o tutorial, já deve estar no modo de edição).

Selecione o campo [TELEFONE] na tabela e abra a Calculadora de Campos. Vamos criar agora a string telefone no formato “0XX (21) 3371-9411”, Para tanto, digite a seguinte expressão:

"0XX " + [PREFIXO] + " " + [TEL]

calculadora de campos_txt_2_05

O “segredo” aqui é inserirmos os caracteres das partes da string que queremos adicionar à string final entre aspas duplas (Ex.: “0XX “). Preste atenção também ao uso dos espaços. Basta digitarmos as strings e intercalarmos os campos, com a função de concatenação, de modo a obtermos o resultado desejado. Ao clicarmos em “Aceitar”, poderemos ver o resultado final:

calculadora de campos_txt_2_06

Função toLowerCase

Converte todos os caracteres de uma string para caixa baixa (LowerCase).

Já não vou explicar o processo de aplicação da expressão, pois creio que nesta altura do campeonato essa parte já deva estar dominada. Vou apenas apresentar a expressão utilizando a função, e o resultado final:

toLowerCase([NOME])

calculadora de campos_txt_2_07

 Função toUpperCase:

Converte todos os caracteres de uma string para caixa alta (UpperCase).

toUpperCase([MUNICIPIO])

calculadora de campos_txt_2_08

Buenas… por hoje é isso, pessoal! Lembrem-se de que, para salvarmos todas as alterações que efetuamos na tabela, precisamos sair do modo de edição do shape e salvar as alterações quando questionados.

Espero que eu não tenha sido sucinto demais, mas quem encontrar alguma dificuldade basta revisar os artigos anteriores desta série, que o processo está bem “mastigadinho”.

No próximo artigo abordaremos o uso da aba “Avançado” da Calculadora de Campos. Aguardem, que vem muita novidade por aí!

Tags: calculadora-de-campos, geoprocessamento, gis, gvSIG, tutorial, geoprocessos, SLGeoTbFaz

Calculadora de Campos no gvSIG: Operações com textos, parte 1

August 27, 2012 — Eliazer Kosciuk

Buenas, pessoal!

Depois de um “longo inverno” sem postagens aqui no blog, retomamos aonde havíamos parado: o estudo das aplicações da Calculadora de Campos no gvSIG. Recomendo que vocês façam uma revisão do artigo anterior, onde fizemos uma introdução a Calculadora de Campos no gvSIG antes de prosseguir por aqui…

Para os exercícios que faremos por aqui, continuaremos utilizando o shapefile que já estávamos usando, e que pode ser baixado aqui: ARQUIVO1. Lembrando: este shapefile está na projeção SAD69/UTMzone23S (código EPSG 29183), portanto, para iniciarmos os trabalhos, precisamos criar uma nova vista com esta projeção que, depois de aberta, devemos inserir o shapefile sobre o qual trabalharemos. No final, devemos estar com uma área de trabalho semelhante a essa:

calculadora02

Para começarmos o nosso trabalho com a Calculadora de Campos, precisamos colocar o gvSIG em modo de edição. Para tanto, no TOC, clicamos com o botão secundário do mouse sobre o nome do arquivo que iremos trabalhar e, no menu contextual que se abre, escolhemos a opção “Iniciar edição”.

calculadora05

A partir de agora o gvSIG estará em modo de edição, permitindo que tenhamos acesso a Calculadora de Campos.

Ainda como preparação para os trabalhos, precisamos criar um novo campo na tabela de atributos do nosso shape. Não vou abordar esse assunto novamente, então, se você não lembra como fazemos isso, volte ao artigo anterior desta série para revisar o assunto.

Abra a Tabela de Atributos do shape que estamos trabalhando (menu Tabela > Modificar a estrutura da tabela ou clicando no ícone correspondente). Se você está utilizando o mesmo shape que trabalhamos na primeira parte, verá uma tabela de atributos semelhante a essa:

calculadora08

(Se você baixou o arquivo novamente, a tabela não conterá o campo “MUN”, que foi criado no tutorial anterior. Não se preocupe, ele não será necessário para o trabalho que iremos fazer).

Observando com atenção os atributos da tabela, podemos notar que o Campo “Bairro” é do Tipo “String”, e tem um Tamanho de 254 bytes. Aproveitando que estamos na Tabela de Atributos em modo de edição, vamos alterar a tabela (menu Tabela > Modificar a estrutura da tabela) para criar um Novo Campo, com o criativo nome [Bairro2], com as mesmas características do campo [Bairro] (isto é: Tipo “String” e Tamanho de 254 bytes). Com isso, estaremos duplicando o campo [Bairro].

Copiar dados de textos a partir de um Campo existente:

A partir deste momento é que começamos a nossa conversa “pra valer”. Como primeira operação com textos através da Calculadora de Campos do gvSIG, vamos fazer uma operação básica: copiar os dados de um campo de texto para outro campo (isto é, vamos duplicar o campo). Pode parecer uma operação sem sentido, mas é muito importante quando queremos trabalhar sobre os dados de um campo, mas ao mesmo tempo precisamos preservar as informações originais.

Para iniciarmos o trabalho, sempre no modo de edição, vamos selecionar a coluna do campo [Bairro2], clicando em cima do seu nome na tabela. Em seguida, podemos acessar a Calculadora de Campos (menu Campo > Expressão). Na janela “Calcular expressão” que se abre, podemos notar no destaque da figura abaixo, que o campo [Bairro2] já vem destacado, indicando que é nele que o resultado da expressão será colocado.

Vamos copiar todos os registros que estão na coluna do campo [Bairro] para o nosso recém criado campo [Bairro2]. Para tanto, basta darmos dois cliques sobre o nome do campo desejado ([Bairro]), que o mesmo já aparecerá na expressão. Para completarmos o procedimento, basta clicar sobre o botão “Aceitar”. Podemos verificar então que todos os campos foram copiados para a outra coluna:

Se o nosso objetivo não é copiar a totalidade dos registros de um campo, o gvSIG nos permite realizar esta operação apenas sobre os registros desejados. Para testar esta modalidade, crie um novo campo na tabela (minha sugestão: [Bairro3] 🙂 ). Após criado o novo campo, retorne na tabela de atributos do nosso shape, e faça uma seleção de múltiplas linhas da tabela (dica: se você segurar a tecla “CTRL”, poderá fazer a seleção linha a linha, clicando nas linhas desejadas; se a seleção for contínua, você poderá clicar na primeira linha, pressionar a tecla “SHIFT” e clicar na última linha da seleção, que todas as linhas entre elas serão selecionadas).

Feita a seleção, clique na coluna do campo [Bairro3], que é onde colocaremos o resultado da expressão que vamos usar, abra novamente a Calculadora de Campos e repita o procedimento anterior:

Observe que agora, após clicarmos no botão “Aceitar”, o resultado da expressão só aparecerá nos registros do campo [Bairro3] que estavam selecionados antes de chamarmos a Calculadora de Campos:

Essa ferramenta pode ser utilizada em conjunto com a ferramenta filtro, o que nos ajudará muito quando estivermos trabalhando com tabelas de dados com muitos registros. Para tanto, estando no modo de edição, basta aplicarmos o filtro para fazer a seleção dos dados desejados, e depois aplicarmos a Calculadora de Campos para efetuarmos as operações desejadas.

Função Replace

A outra função que iremos testar nesta primeira parte será a função “replace”. Podemos utilizar esta função para substituirmos valores que existem em um determinado campo da tabela por outro valor. Por exemplo, para substituirmos algum valor que foi digitado errado, ou que tem que ser alterado.

A sintaxe desta função é: replace (Parâmetro1,Parâmetro2, Parâmetro3), onde:

  • Parâmetro 1: o campo onde iremos aplicar a função;
  • Parâmetro 2: a string antiga, que será substituída; e
  • Parâmetro 3: a string nova, que será colocada no lugar da antiga.

Neste exemplo, vamos substituir todas as strings “São Cristóvão” que ocorrem no campo [Bairro2], por uma nova string, “S. Cristóvão”. Para tanto, primeiramente teremos que remover a seleção que aplicamos no exemplo anterior, pois se não só obteríamos o resultado sobre os registros selecionados. Para remover a seleção, basta acessarmos o menu Camada > Limpar seleção, ou clicarmos no ícone correspondente.

Removida a seleção, selecionamos o campo sobre o qual iremos trabalhar ([Bairro2]) e abrimos a Calculadora de Campo. Para aplicarmos a função “replace”, na aba “Geral” da Calculadora de Campos, selecionamos a opção “string” para o Tipo, e na lista que aparece no lado direito da janela clicamos duas vezes em “replace”. Na parte de baixo da janela aparecerá a seguinte expressão:

replace( , "","")

Posicionamos o cursor antes da primeira vírgula e na lista de campos que aparece no lado esquerdo da janela, selecionamos o campo [Bairro2]. Ao darmos um duplo clique sobre ele, notamos que ele aparecerá na expressão:

replace( [Bairro2], "","")

Em seguida, digitamos entre a primeira sequencia de aspas a string que queremos substituir (“São Cristóvão”) e na segunda sequencia de aspas digitamos a string que irá substituir (“S. Cristóvão”). A expressão deverá ficar como a seguinte:

replace( [Bairro2], "São Cristóvão","S. Cristóvão")

calculadora_textos1_05

Ao clicarmos em “Aceitar” veremos que a função “replace” foi aplicada sobre o campo [Bairro2], conforme solicitamos:

calculadora_textos1_06

Um detalhe: depois de terminado não se esqueça de clicar com o botão secundário no nome do shape que estamos trabalhando, no TOC, e selecionar a opção “Finalizar a edição” no menu que se abre, e salvando (ou não) as alterações que foram feitas na tabela de dados!

Buenas… por hoje é isso, pessoal! Nos veremos em breve, com a próxima parte do artigo sobre a Calculadora de Campos no gvSIG. E, lembrem-se: #SLGeoTbFaz!

Tags: calculadora-de-campos, geoprocessamento, gis, gvSIG, tutorial, geoprocessos, SLGeoTbFaz

Calculadora de Campos no gvSIG: Introdução (#SLGeoTbFaz)

March 09, 2012 — Eliazer Kosciuk

Buenas, pessoal!

Só mesmo o @jpsantos2002 para me tirar desse quase “descanso sabático” de postagens aqui no blog! Acontece que ele iniciou uma série de artigos sobre o uso da Calculadora de Campos no ArcGIS, um assunto que sempre me interessou mas que nunca encontrava tempo para me aprofundar no estudo. Quando vi os primeiros artigos da série, imediatamente pensei: “taí” um bom gancho para mais um artigo da série #SLGeoTbFaz!

Apesar de ser uma ferramenta poderosa para a atualização, edição e criação de novos campos de dados em tabelas, é uma ferramenta pouco explorada em tutoriais, e acaba sendo pouco conhecida. O manual do gvSIG apresenta um capítulo a parte sobre a Calculadora de Campos, mas não é muito rico em exemplos de uso. Além deste material, até o momento encontrei apenas dois tutoriais que falam sobre o assunto (e que já estão devidamente catalogados na Coletânea de links sobre o gvSIG): Operador “like” SQL en GvSig e Concatenar campos com Field Calculator. Recomendo a leitura dos dois artigos, que muito nos ajudam a entender sobre o assunto.

Mas, chega de conversa fiada e vamos ao que interessa: a Calculadora de Campos!

Como já comentamos, a Calculadora de Campos é um poderoso recurso disponibilizados pelos programas SIG (entre eles, o gvSIG), e que nos permite fazer a inserção automática de valores na tabela de atributos de um shapefile através de operações matemáticas e expressões lógicas. Utilizada em conjunto com as ferramentas de seleção, filtro e NavTable potencializa as aplicações com dados em tabela, facilitando a edição dos mesmos sem que seja necessário lançar mão de outros aplicativos.

Todas as geometrias do shapefile (ponto, linha ou polígono) possuem uma base de dados que armazena informações no arquivo DBF. As operações da Calculadora de Campo podem ser executadas para atualizar valores de um determinado campo ou aplicar o resultado de uma operação num novo campo. Para fins de compatibilidade com a série de artigos do Jorge Santos vamos utilizar neste tutorial o mesmo shapefile que ele disponibilizou, e que pode ser baixado aqui: ARQUIVO1.

Para iniciar os trabalhos, crie uma nova Vista no gvSIG, e altere a projeção da vista para SAD69/UTMzone23S (código EPSG 29183), que é a projeção do shapefile que iremos trabalhar.

calculadora01

Feito isto, podemos abrir a Vista que criamos e inserir o arquivo shapefile que baixamos. No gvSIG todas todos os arquivos que fazem parte da Vista são organizadas em camadas que, após inseridas, são apresentadas no TOC (Table of Contents). Para selecionar o arquivo a trabalhar, basta clicar em cima do nome do mesmo no TOC, e ele passa a aparecer destacado na listagem:

calculadora02

Para abrir a Tabela de atributos da camada, selecione-a no TOC e, em seguida, acesse o menu Camada > Ver tabela de atributos, ou clique no ícone correspondente na barra de ferramentas:

calculadora03

Será mostrada a Tabela de atributos do shape selecionado:

calculadora04

Criando um novo campo:

Em muitos momentos nesta série de tutoriais sobre a Calculadora de Campos será necessária a criação de novos campos na Tabela de atributos do shape, para que possamos inserir novas informações. Portanto, vamos revisar o procedimento para a criação de novos campos na Tabela de atributos.

Em primeiro lugar, precisamos colocar o gvSIG em modo de edição. Para tanto, com o arquivo selecionado no TOC, clicamos com o botão secundário do mouse sobre ele e, no menu contextual que aparece, selecionamos a opção “Iniciar edição”.

calculadora05

O gvSIG entrará em modo de edição. Acesse novamente a tabela de atributos do shape. A partir do momento que aparece a tabela de atributos na tela, já poderemos alterá-la. Para isso, vamos acessar o menu Tabela > Modificar a estrutura da tabela. Será aberta a janela do Editor de campos.

calculadora06

Nesta janela podemos observar a estrutura da tabela que estamos trabalhando, de onde podemos obter alguns dados importantes: o “Nome do campo”, o “Tipo” do campo (que pode variar entre Boolean, Data, Integer (Inteiro), Double (Dupla precisão) e String), o “Tamanho” do campo, a “Precisão decimal” (número de dígitos decimais, em campos numéricos), e o “Valor padrão” (que pode ajudar no momento do preenchimento da tabela, se temos um campo com um valor padrão, que se repete com frequencia). Como queremos acrescentar um campo à tabela, vamos clicar no botão “Novo campo”.

calculadora07

Na janela “Propriedades do novo campo” que é aberta, vamos criar um novo campo, que irá representar o município ao qual o ponto está inserido. Para tanto, vamos determinar “MUN” como Nome do campo, selecionar “String” como Tipo, e digitar o valor “50” como Tamanho do campo.

Obs.: Existem algumas regras para a criação dos nomes de campos em tabelas vinculadas a shapes, herança do formato de arquivo .DBF que é adotado. As principais regras são:

  • O nome dos campo possui um limite de 10 caracteres;
  • Números, letras, hífens e underscores são permitidos;
  • Não são permitidos espaços e caracteres especiais.

Terminada a inserção dos dados, clicamos em “Aceitar” e podemos conferir que o campo foi criado conforme nossas especificações, passando a fazer parte da Tabela de atributos.

calculadora08

Com o novo campo criado, vamos clicar em “Aceitar” para fechar a janela “Editor de campos”, e começarmos a usar a Calculadora de Campos.

Utilizando a Calculadora de Campos

Como primeiro exemplo, vamos utilizar a Calculadora de Campos para preencher automaticamente o campo “MUN” com o valor “Rio de Janeiro”, que é o município onde estão localizados os pontos do nosso shape. Clique com o botão principal do mouse sobre o nome da coluna “MUN”, selecionando-o, e vamos acessar a Calculadora de Campos.

Para abrir a Calculadora de Campos, devemos clicar no menu Campo > Expressões, ou clicar no ícone correspondente na barra de ferramentas:

calculadora09

Abrirá a janela “Calcular expressão”. Para inserir dados do tipo String devemos digitar o texto entre aspas duplas. Digite “Rio de Janeiro” para preencher a coluna do campo MUN com o nome do município. Clique no botão Aceitar para completar a operação.

calculadora10

Observando a Tabela de atributos, podemos notar que todos os campos da coluna “MUN” foram preenchidos com o valor “Rio de Janeiro”.

calculadora11

Para encerrar a seção de edição, no ToC devemos clicar com o botão secundário do mouse no nome do shape que estamos editando e selecionar a opção “Terminar edição”. Responda “Sim” à pergunta “Deseja salvar a camada?”, e todas as alterações que fizemos na Tabela de atributo serão salvas.

Esse foi o nosso primeiro contato com a Calculadora de Campos no gvSIG. No próximo tutorial começaremos a explorar as operações com campos do tipo String (texto).

Tags: calculadora-de-campos, geoprocessos, geoprocessamento, gis, gvSIG, SLGeoTbFaz, tutorial

Seleção por camada no gvSIG

November 29, 2011 — Eliazer Kosciuk

Buenas, pessoal!

O artigo de hoje é uma dica rápida, mas interessante, em resposta a uma dúvida do nosso amigo Jose Carlos Jr., o @geojcarlos, do blog “Carta Geográfica“: ele precisava selecionar de um conjunto de municípios aqueles que pertencem a uma determinada bacia hidrográfica; ou seja, a partir de uma camada fazer uma seleção em outra camada.

Em um primeiro momento, pensei em usar o geoprocesso “Interseção”, mas não obtive o resultado esperado, pois eram selecionadas apenas as áreas que pertenciam à bacia hidrográfica em questão; municípios que pertenciam a mais de uma bacia hidrográfica eram selecionados apenas parcialmente, o que não resolvia o nosso problema.

Parti então para uma consulta ao “amansa burro”: no caso, o manual do gvSIG. E estava lá a resolução do nosso problema: a seleção por camada.

Baixe os dados que usamos neste tutorial, a partir do site do Instituto de Terras, Cartografia e Geociências do PR: a divisão municipal do PR, e o shape das Bacias Hidrográficas do PR.

Vamos primeiramente abrir o gvSIG e criar um novo Projeto e uma nova Vista, tomando o cuidado de selecionar a projeção geográfica compatível com os nossos dados (EPSG 29182 – SAD69/UTM Zone 22S). Em seguida, vamos abrir a Vista e inserir os dois shapes que queremos trabalhar, deixando o shape das bacias hidrográficas por cima do shape das divisas municipais (retirei o preenchimento do shape das bacias, para facilitar a visualização:

intersepta01

Vamos agora selecionar a bacia hidrográfica da qual queremos saber quais são os municípios que a intersectam. Para isso, com o shape das bacias hidrográficas selecionado no TOC, escolhemos a ferramenta de seleção por ponto e clicamos na bacia hidrográfica de nosso interesse. Selecionei a Bacia Hidrográfica Ivaí:

intersepta02

Vamos agora selecionar no TOC a camada dos limites municipais (isso é importante, pois define a camada da qual queremos selecionar as feições), e vamos acessar o menu Vista > Seleção > Seleção por camada:

intersepta03

Na janela de opções da ferramenta vamos definir alguns parâmetros: em “Selecionar das camadas ativas as feições que…”, vamos selecionar a opção “Intersectam com”; em “Elementos selecionados da camada”, vamos selecionar a camada “BACIAS_HIDROGRÁFICAS_2007.shp”; em seguida, clicamos na opção “Novo Conjunto”. Ou seja: estamos criando um novo conjunto de seleção, na camada dos limites municipais, selecionando aqueles municípios cujos limites intersectam com a bacia hidrográfica selecionada na camada das bacias:

intersepta04

Ao clicarmos em “Novo conjunto”, a operação será aplicada e teremos o nosso resultado:

intersepta05

Todos os municípios que fazem parte da Bacia Hidrográfica Ivaí estão selecionados, e agora podemos exportar este conjunto para um novo shape, através do menu Camada > Exportar para… > SHP.

É isso aí, pessoal! Resolvemos o nosso desafio…

Tags: geoprocessamento, geoprocessos, gvSIG, SLGeoTbFaz, tutorial

Delimitação de Microbacias Hidrográficas com o gvSIG: Parte IV

November 22, 2011 — Eliazer Kosciuk

Buenas, pessoal!

Finalmente entramos na reta final deste tutorial sobre a delimitação de Microbacias Hidrográficas (MBH) com o gvSIG. Nesta última parte faremos a delimitação propriamente dita.

Havíamos encerrado o post anterior com as sub-bacias hidrográficas de nossa área de estudo caracterizadas e devidamente vetorizadas:

simbologiasb041

Vamos prosseguir a partir daqui:

Selecionar as sub-bacias que pertencem à MBH de interesse:

Em primeiro lugar, vamos alterar a ordem das camadas que estão presentes no TOC, de modo que a camada vetorial da rede de drenagem esteja por cima da camada vetorial das sub-bacias hidrográficas. Além disso, é interessante alterar a simbologia da rede de drenagem, mudando a cor e a espessura da linha, de modo em a rede de drenagem possa ser facilmente visualizada por cima da camada das sub-bacias. Esse procedimento irá ajudar bastante na análise visual.

Em seguida, precisamos identificar a região da área de estudo em que está localizada a MBH que queremos delimitar, e dar um zoom na área, de modo a enquadrá-la na área de trabalho, facilitando procedimento de seleção.

Confirmamos que a camada vetorial das sub-bacias está selecinada no TOC, e passamos para a fase da seleção propriamente dita. Neste momento faremos uso das ferramentas de seleção de feições: 

ferramentas_selecao

Uma dica é utilizar primeiramente a ferramenta “Seleção por polígono”, procurando fazer o contorno da área de interesse. Quando terminar  a seleção, basta dar um “duplo clique” para fechar o polígono de seleção, e toda a área interna ao polígono desenhado será selecionada. Bastará então utilizar a ferramenta de “Seleção por ponto” para selecionar  as eventuais áreas que ficaram fora da seleção anterior, tomando o cuidado de pressionar simultaneamente a tecla “Ctrl”, para que as feições selecionadas sejam adicionadas à seleção já existente. O mesmo pode ser feito para remover a seleção de alguma sub-bacia que eventualmente não faça parte da MBH em questão: basta clicar sobre ela com a ferramenta de “Seleção por ponto”, sempre com a tecla “Ctrl” pressionada, que será removida a seleção da sub-bacia.

No final do trabalho de seleção deveremos ter uma camada semelhante a da figura a seguir:

selecionarbacia01

Vamos agora exportar essa seleção para uma nova camada: acessamos o menu Camada > Exportar para > SHP, e definimos um nome e o caminho para o arquivo shape que será gerado. Ao clicarmos em “Aceitar” aparecerá uma mensagem informando o número de feições que serão exportadas, e perguntando se desejamos continuar:

selecionarbacia03

Após clicarmos em “Sim”, a seleção será exportada para um novo shape, e seremos questionados se queremos inserir a nova camada na Vista, ao que devemos responder novamente “Sim”. E seremos apresentados ao shape das sub-bacias que compõe a nossa MBH:

selecionarbacia04

Precisamos agora gerar um shape que contenha todas as sub-bacias, delimitando assim a área da MBH. Para isso, vamos…

Aplicar o geoprocesso “dissolver”:

Clicamos com o botão direito sobre camada da MBH que acabamos de criar e, no menu contextual que é aberto, clicamos na opção “Iniciar edição”. Em seguida, clicaremos no ícone “Mostrar atributos”, para que possamos ter acesso à tabela de atributos do shape da MBH. Acessamos então o menu Tabela > Modificar estrutura da tabela, pois precisaremos acrescentar um campo à estrutura da tabela que contenha um mesmo valor em todos os elementos da tabela para podermos aplicar o geoprocesso dissolver.

Na janela do “Editor de campos” que se abre vamos selecionar a opção “Novo campo”. Podemos alterar o “Nome do campo” (utilizei o nome “dissolver”); em “Tipo” vamos deixar selecionada a opção “string”; em “Tamanho” alteramos para o valor “1”; e, finalmente, em “Valor padrão” escolhemos um valor que aparecerá automaticamente preenchido em todos os elementos da tabela no novo campo que estamos inserindo.

dissolvermbh04

Ao clicarmos em “Aceitar” o campo será inserido, e poderemos conferir este fato na listagem dos campos da tabela de atributos do shape que nos é apresentada:

dissolvermbh05

Podemos então clicar em “Aceitar”, fechamos a Tabela de atributos e, no TOC, clicamos com o botão direito na camada que estávamos editando, e selecionamos a opção “Termina a edição”.

Em seguida, vamos acessar o menu Vista > Gestor de geoprocessos. Na janela de Geoprocessos que se abre, selecionaremos: Geoprocessos > Análises > Agregação > Dissolver

dissolvermbh06

Ao selecionarmos a opção “Abrir Geoprocesso”, abrirá a janela de configuração da ferramenta, onde selecionaremos as seguintes opções: em “Camada de entrada” selecionamos o shape da MBH; podemos conferir se o número de elementos selecionados está correto; em “Campo para dissolver” selcionaremos o campo que acabamos de criar (“dissolver”, no meu caso); finalmente, em “Camada de saída”, vamos nomear arquivo e definir o caminho onde o mesmo será salvo.

dissolvermbh07

Ao clicarmos em “Aceitar” o geoprocesso dissolver será aplicado, e teremos o resultado desta operação:

dissolvermbh08

Podemos perceber que todas as feições foram dissolvidas e temos agora um shape que contém apenas uma feição, correspondente a área total da nossa MBH. Podemos agora agregar algumas informações a este shape, como por exemplo:

Calcular a área e o perímetro da MBH:

Para agregar essas informações ao shape que acabamos de criar vamos acessar o menu Camada > Adicionar informação geométrica.

areaeperimetro01

Na janela “Adicionar informações geométrica” que se abre vamos selecionar o shape que acabamos de criar no passo anterior em “Camada”; selecionamos as informaçôes geometricas “área” e “perímetro”, clicando em seguida no ícone “Adiciona os ítens selecionados”:

areaeperimetro02

Após clicarmos em “Aceitar” serão calculados a área e o perímetro da nossa MBH, com as unidades de medida definidos na configuração inicial das propriedades da Vista. Os valores estarão na tabela de atributos do shape, e podemos consultá-los através do ícone “Tabela de atributos:

areaeperimetro03

Recortar a rede de drenagem da microbacia hidrográfica:

Como último passo deste tutorial vamos recortar a rede de drenagem, de forma a termos separada apenas a rede de drenagem da MBH que nos interessa. Para tanto, acessaremos o menu Vista > Gestor de geoprocessos e, na janela do Gestor de Geoprocessos, acessaremos o caminho: Geoprocessos > Análises > Sobreposição > Recortar.

Clicamos em “Abrir Geoprocesso” e, na janela de opções da ferramenta, aplicaremos as seguintes configurações: em “Camada de entrada” selecionamos o shape da rede de drenagem; selecionamos como “Camada de recorte” o shape do limite da MBH; e, em “Camada de saída” definimos o nome e o caminho do arquivo que será gerado.

recortedrenagemmbh01

Após clicarmos em “Aceitar”, o geoprocesso será aplicado e obteremos o nosso resultado:

recortedrenagemmbh02

Na próxima imagem apresento a MBH devidamente delimitada, juntamente com sua rede de drenagem, que é o nosso resultado final, já com a simbologia alterada para uma melhor apresentação visual:

recortedrenagemmbh03

A partir deste momento poderemos gerar o mapa da MBH, para ser impresso ou salvo como um arquivo pdf, mas esse não é o objetivo deste tutorial. Para quem quiser fazer esse trabalho indico o excelente tutorial sobre o “Modo layout no gvSIG“, do meu amigo Esdras, no blog Geo para Linux

Tags: geoprocessamento, gis, gvSIG, MDT, sextante, SLGeoTbFaz, tutorial, geoprocessos

Delimitação de Microbacias Hidrográficas com o gvSIG: Parte III

November 21, 2011 — Eliazer Kosciuk

Buenas, pessoal!

Vamos agora para a terceira parte do tutorial sobre delimitação de Microbacias Hidrográficas (MBH) com o gvSIG. Na segunda parte do tutorial vimos como gerar o MDT a partir de um arquivo shape contendo curvas de nivel da região de interesse. Neste momento, estamos com o MDT pronto e processado, de modo a não apresentar depressões. Retomamos o trabalho a partir deste ponto.

mnt07

Gerar a camada de fluxo:

Para início de conversa, abriremos a ferramenta Sextante: SEXTANTE > Basic hydrological analysis > Flow accumulation

fluxo01

Na janela da ferramenta que se abre, vamos efetuar as seguintes configurações: Na aba “Parameters”, seção “Inputs – Raster layers”, em “Elevation” selecionaremos a camada que foi gerada após o processamento de eliminação das depressões; em “Weight” deixamos sem seleção (Not selected); na seção “Options”, em “Method” selecionamos a opção “MFD (Multiple Flow Directions)”; em “Convergence factor (MFD), colocamos o valor de “1.1”; na seção “Outputs”, como de praxe, selecionamos o nome e caminho onde o arquivo resultante será salvo.

fluxo02

Na aba “Output region” deixaremos selecionada a opção “Fit to input layers” (nota: de agora em diante essa será a opção “padrão”, quando não nos referirmos a ela nas próximas fases. Se houver alguma necessidade de alterar essa opção, eu avisarei).

fluxo03

Ao clicarmos em “OK” a rotina de acúmulo de fluxo será aplicada, e obteremos como resultado final um arquivo raster que representa o acúmulo de fluxo da nossa área de estudo:

fluxo04

Podemos agora partir para a geração da rede de drenagem.

Gerar a rede de drenagem:

Abrimos novamente a ferramenta Sextante: SEXTANTE > Basic hydrological analysis > Channel network

rededrenagem01

Definindo as opções da ferramenta: Na aba “Parameters”, seção “Input – Raster layers”, vamos definir que em “Elevation” será utilizada a camada raster do MDT processado (sem depressões); em Threshold layer, selecionaremos a camada de fluxo, gerada na fase anterior; na seção “Options”, primeiramente não mexeremos nas opções apresentadas: em “Criteria” está selecionado “Greater than”, e em Threshold está o valor de “10000.0”; na seção “Outputs, o diferencial agora é que será gerada uma camada no formato raster e outra no formato vetorial. Definimos aqui nome e caminho para caminho para cada um dos arquivos que será gerado. Na aba “Output region”, como comentamos anteriormente, deixaremos selecionada a opção “Fit to input layers”.

rededrenagem02

Ao rodarmos a rotina clicando em “OK”, seremos apresentados ao arquivo resultante: a rede de drenagem da nossa área de estudo:

rededrenagem04

Como podemos observar, a rede de drenagem ficou muito detalhada. Se aplicarmos a rotina de geração de sub-bacias neste arquivo, receberemos como resultado centenas de sub-bacias, referentes a cada contribuinte da rede de drenagem, por menor que seja. Co mo não é esse o objetivo neste momento, vamos alterar os parâmetros para obter uma rede de drenagem com menos detalhes:

Abrindo novamente a ferramenta “Channel ntetwork” do Sextante, vamos alterar apenas a opção “Threshold”, da seção “Options” da aba “Parameters”. Como uma primeira aproximação, vamos alterar o valor de “10000.0” para “100000.0”; não alteraremos as demais opções.

rededrenagem05

Pressionado “OK”, a rotina será aplicada novamente, e obteremos nossa nova rede de drenagem:

rededrenagem06

Com a rede de drenagem gerada, podemos passar para o próximo passo:

Gerar as sub-bacias hidrográficas:

Acessamos novamente a ferramenta Sextante: SEXTANTE > Basic hydrological analysis > Watersheds

subbacias01

Configurando a ferramenta: na aba “Parameters”, seção “Inputs – Raster layers”, em “Elevation” selecionamos a camada raster do MDT processado (sem depressões); em “Chanel network” selecionamos a camada da rede de drenagem que geramos no passo anterior; na seção “Options”, em “Minimum watershed size [cells]” podemos definir o tamanho mínimo, em células, que a sub-bacia pode ter. Neste caso, deixamos o valor padrão (“0”); Na seção “Outputs”, definimos o nome do arquivo e o caminho onde ele será salvo. Na aba “Output region”, deixamos selecionada a opção “Fit to input layers”.

subbacias02

Ao clicarmos em “OK”, seremos apresentados ao nosso resultado final: um arquivo raster representando todas as sub-bacias hidrográficas da nossa área de estudo.

subbacias04

Na próxima imagem podemos conferir a rede de drenagem sobreposta às sub-bacias hidrográficas:

subbacias05

Para os próximos passos no trabalho de delimitação das MBH, precisaremos converter este arquivo raster em um arquivo vetorial:

Vetorizar as sub-bacias hidrográficas:

Pela última vez neste tutorial, vamos acessar a ferramenta Sextante: SEXTANTE > Vectorization > Vectorize raster layer (polygons)

vetorizarsb01

Precisamos definir apenas dois parâmetros: em “Input layer”, selecionamos a camada raster que queremos vetorizar (a camada das sub-bacias hidrográficas que acabamos de gerar), e em “Outputs – Result[vector]” definimos o nome do arquivo e o caminho onde ele será salvo.

vetorizarsb02

Novamente clicando em “OK” seremos apresentados ao arquivo vetorial simbolizando as sub-bacias da nossa área de estudo:

vetorizarsb03

Como último passo desta parte do tutorial, vamos alterar a simbologia da camada de sub-bacias hidrográficas, para facilitar os trabalhos seguintes:

Aplicar simbologia nas sub-bacias hidrográficas:

Selecionamos no TOC a camada “Result” (gerada no passo anterior), e, clicando com o botão direito do mouse sobre ela, selecionamos no menu contextual que se abre a opção “Propriedades”. Na aba “Simbologia”, selecionamos Categorias > Valores únicos

simbologiasb01

Em “Campo de classificação” escolhemos o campo pelo qual iremos aplicar a simbologia (Watersheds, neste caso); em “Esquema de cores”, escolhemos um gradiente de cores que nos agrade, de preferência com uma grande variação de cores (selecionei o esquema “purple-red+stripes”); em seguida, clicamos em “Adicionar todos”. Aparecerá a mensagem de alerta: “mais de 100 símbolos não contribuem para uma clara informação em um mapa”:

simbologiasb02

Podemos clicar em “Yes”, pois neste caso o que queremos é apenas facilitar a diferenciação das diferentes áreas.

simbologiasb03

Clicando em “Aplicar” teremos um “preview” e, se o resultado nos agradar, podemos clicar em “Aceitar”. Seremos então apresentados ao nosso arquivo vetorial, já com a simbologia aplicada:

simbologiasb04

Com isto terminamos esta terceira parte do nosso tutorial sobre delimitação de Microbacias Hidrográficas com o gvSIG. Na próxima (e última) parte iremos finalmente selecionar as sub-bacias que compõe a nossa MBH, e executar os procedimentos que nos permitirão delimitá-la.

Tags: geoprocessamento, geoprocessos, gis, gvSIG, MDT, sextante, SLGeoTbFaz, tutorial

Delimitação de Microbacias Hidrográficas com o gvSIG: Parte II

November 18, 2011 — Eliazer Kosciuk

Buenas, pessoal!

Estamos de volta com a segunda parte do tutorial de delimitação de Microbacias Hidrográficas (MBH) com o gvSIG. Para darmos continuidade precisaremos do arquivo shape contendo as curvas de nível da nossa área de interesse, que foi obtido no final da primeira parte deste tutorial:

inicial13

Passaremos agora a gerar o modelo digital do terreno a partir destas curvas de nível.

Rasterização das curvas de nível:

Como primeiro passo, precisamos transformar os vetores em um arquivo raster. Para tanto, acessamos novamente a ferramenta Sextante: SEXTANTE > Rasterization and interpolation > Rasterize vector layer

rasterizacao01

Na janela de configuração da ferramenta que se abre vamos alterar os parâmetros da primeira aba (“Parameters”): na seção “Inputs – Vector layer”, em Vector Layer selecionamos a camada de entrada, que nesse caso é a camada que contém o recorte das curvas de nível; em Field, precisamos definir qual o campo da tabela contém os dados de altitude (cota) dos vetores que, no nosso caso, está em “CODIGO”; na seção “Outputs”, definimos o arquivo em que será salvo o resultado da operação. Deixei marcada a opção de salvar para um arquivo temporário, mas podemos selecionar o caminho e definir o nome para o arquivo se quisermos salvá-lo.

rasterizacao02

Na aba “Output region” vamos selecionar a opção “Use extent from layer”, selecionando em seguida a camada do recorte das curvas de nível como base. Em seguida, alteramos a opção “Cell size” para o valor “20.0”, e clicamos em “OK”.

rasterizacao03

Será processada a rasterização da camada de vetores, e no final obteremos um arquivo raster equivalente ao arquivo vetorial das curvas de nível:

rasterizacao04

Como podemos notar, temos duas situações neste arquivo: pixels da imagem onde estão as curvas de nível contém informações da altitude das mesmas (cotas), enquanto que nas áreas pretas da imagem estão pixels que não contém informações. Precisamos preencher esses “vazios”, de forma que cada pixel da imagem contenha uma informação de altitude, através de um processo de interpolação. Usaremos outra rotina do Sextante para preencher as células sem dados

Preenchendo as células sem dados:

Voltamos a abrir o Sextante: SEXTANTE > Basic tools for raster layers > Void Filling

mnt01

Na janela de opções da ferramenta que é aberta, precisamos apenas conferir se em “Layer” está selecionada a camada que foi rasterizada no passo anterior, e podemos deixar o valor default de “0.1” em “Tension thershold”. Em “Outputs – Filled layer[raster], podemos definir o nome e o caminho onde o arquivo gerado será salvo:

mnt02

Após clicarmos em “OK”, o arquivo raster será processado pela rotina, e teremos no final um arquivo onde cada célula (pixel) contém uma informação de altitude (cota), representando assim o Modelo Digital do Terreno (MDT):

mnt03

Eliminando as depressões:

Voltemos à nossa ferramenta Sextante: SEXTANTE > Basic hydrological analysis > Sink filling

mnt04

Novamente, na janela da ferramenta que é aberta, vamos definir alguns parâmetros: em “Input – Raster layers”, vamos tomar o cuidado de observar se está selecionada a camada raster gerada no passo anterior (rasterizada e preenchida); em “Min. angle between cells [deg]” podemos deixar o valor default de “0.01” e, como sempre, em “Outputs – Preprocessed[raster]”, definiremos o nome e o caminho onde será salvo o arquivo que será gerado pela rotina. É importante que salvemos este arquivo, pois o mesmo será utilizado para os procedimentos subsequentes.

mnt05

Após clicarmos em “OK” será iniciado o processamento. E aqui cabe uma ressalva importante: esse processo é demorado! Para fins de comparação, o processo demorou 50 minutos em um computador com processador Intel Core 2 Quad e 8 Gb de RAM. Portanto, tenha paciência, saia para fazer um lanche, e aguarde o término do processamento!

mnt06

Finalizado o processamento seremos apresentados ao resultado final. Aparentemente, não há diferenças entre esse e o arquivo anterior, mas agora temos certeza que todas as depressões do terreno foram eliminadas.

mnt07

Terminamos aqui a segunda parte deste tutorial. Na próxima parte estaremos trabalhando com a geração da camada de acúmulo de fluxo, a geração da rede de drenagem e, finalmente, a geração das sub-bacias hidrográficas. Aguardem!

Tags: geoprocessamento, gis, gvSIG, geoprocessos, MDT, sextante, SLGeoTbFaz, tutorial

Delimitação de Microbacias Hidrográficas com o gvSIG: Parte I

November 17, 2011 — Eliazer Kosciuk

Buenas, pessoal!

Recentemente tive que lidar no meu trabalho com o desafio de delimitar uma microbacia hidrográfica (MBH, de agora em diante), pois precisava conhecer qual seria a área abrangida por tal MBH, quais os moradores que faziam parte desta MBH, etc. Digo desafio porque nunca havia realizado tal procedimento com o gvSIG. Nesta série de artigos venho compartilhar os procedimentos que adotei, pois certamente poderão ajudar outros usuários. Além disso, esse é mais um artigo que pode ser enquadrado na Série #SLGeoTbFaz… 😉

Antes de começar, gostaria de ressaltar que praticamente toda a sequencia de procedimentos que eu segui está descrita na apostila “Introdução ao gvSIG portable v1.11 SIG-RB, Módulo Básico”, disponibilizado de forma aberta pelo pessoal do Sistema de Informações do Ribeira de Iguapé e Litoral Sul. A apostila pode ser baixada gratuitamente mediante um rápido cadastro na área de capacitação do site. Feitas estas primeiras considerações, vamos ao tutorial, propriamente dito:

Nesta primeira fase, vamos preparar o ambiente para o trabalho que virá a seguir. Os dados que iremos utilizar foram obtidos do DVD “Base cartográfica vetorial contínua do Rio Grande do Sul – escala 1:50.000”, produzido pela UFRGS – IB. Centro de Ecologia – Laboratório de Geoprocessamento, e pode ser adquirido no site da Editora UFRGS. Vale cada centavo investido!

Com o gvSIG aberto, vamos criar uma nova Vista, definindo nas propriedades da mesma o Sistema de Coordenadas EPSG 32722 (WGS 84 / UTM zona 22S). Abrimos a Vista e inserimos o arquivo shape do estado do Rio Grande do Sul, já reprojetado para o Sistema de Coordenadas adotado.

inicial01

Com a ferramenta de seleção, selecionamos o município que será trabalhado. No caso, o município de Seberi, no noroeste gaúcho:

inicial02

Com a área de interesse selecionada, vamos no menu Camada > Exportar para > SHP, e exportamos a feição selecionada para um novo arquivo shape, com o qual iremos trabalhar. Salvo o arquivo, respondemos “sim” à mensagem que nos pede se queremos inserir o novo shape na Vista. Na próxima figura podemos conferir o shape dos limites do município, após clicarmos com o botão direito do mouse no nome da camada no TOC e, no menu contextual que se abre, selecionar “Zoom na camada”:

inicial03

Como estaremos trabalhando com dados em uma escala maior, vamos criar um buffer para garantir que todos os detalhes que queremos trabalhar estarão incluídos. Para tanto, acessamos o menu Vista > Gestor de geoprocessos.

inicial04

Na árvore de seleção de geoprocessos à esquerda da janela aberta selecionamos Geoprocessos > Análises > Proximidade > Buffer (área de influência) e clicamos em “Abrir geoprocesso“.

Na janela que se abre precisaremos definir alguns dados: na “Camada de entrada”, selecionamos o shape do limite do município; selecionamos a opção “Buffer definido por uma distância”, definindo o valor de 500 m; em “Criar Buffer” selecionamos a opção “Fora do polígono”; em “Número de anéis concêntricos” deixamos o valor “1” e, finalmente, definimos um arquivo onde o buffer resultante será salvo, clicando em “Abrir” e definindo o nome do arquivo e selecionando o caminho onde o mesmo será salvo.

inicial05

Com todas as opções definidas clicamos em “Aceitar” e será gerado um shape com uma área de buffer externo de 500m ao redor do shape dos limites do município de Seberi:

inicial06

Podemos agora descartar as camadas que não serão mais utilizandas, deixando apenas a camada gerada pelo geoprocesso Buffer: selecionando-as no TOC, clicamos com o botão direito do mouse e escolhemos a opção “Remover camadas” no menu contextual que aparece.

Precisamos agora definir um retângulo envolvente que englobe toda a área do município. Para tanto, clicamos em SEXTANTE > Toolbox e, na janela que se abre, selecionamos Sextante > Tools for vector layers > Bounding Box:

inicial07

Na janela da ferramenta “Bounding Box” que é aberta, definimos na aba “Parameters”, em “Layers”, a camada que será utilizada para gerar o retângulo envolvente (no caso, a camada do buffer), e definimos também o arquivo que será gerado. Clicando em “OK” a rotina será aplicada, e obtemos um shape com o retângulo envolvente:

inicial08

Definida a nossa área de interesse podemos inserir no projeto a camada com o shape das curvas de nível da região, tomando o cuidado de selecionar o arquivo com a projeção do projeto:

inicial09

Vamos agora fazer um recorte da área que nos interessa. Para tanto, vamos no menu Vista > Gestor de geoprocessos e na janela do gestor de geoprocessos selecionamos Geoprocessos > Sobreposição > Recortar, clicando em seguida em “Abrir geoprocesso”.

inicial10

Na janela de opções da ferramenta Recortar que se abre, selecionamos as opções: em “Camada de entrada” escolhemos a camada das curvas de nível que queremos recortar; em “Camada de recorte” selecionamos a camada do retângulo envolvente que criamos, que é a nossa área de interesse e, finalmente, em “Camada de saída” definimos o arquivo que será gerado.

inicial11

Clicando em “Aceitar” o geoprocesso será realizado, resultando em um shape contendo as curvas de nível apenas da área que nos interessa:

inicial12

Na próxima figura temos o nosso arquivo shape final, contendo apenas as curvas de nível da região do município gaúcho de Seberi, que servirá de base para as próximas fases do tutorial. Se, por um acaso, você gerou o arquivo apenas na memória, poderá salvar agora o resultado obtido selecionando a camada no TOC e clicando no menu Camada > Exportar para > SHP.

inicial13

Não tenho como disponibilizar o arquivo shape das curvas de nível do estado do Rio Grande do Sul, até por questões autorais, mas creio que não haverá problemas maiores em disponibilizar apenas o arquivo shape final obtido, para que os nossos leitores possam acompanhar os próximos passos do tutorial (se houver alguma infração, peço que os responsáveis entrem em contato, que retirarei o arquivo).

Na próxima parte da série abordaremos a geração do Modelo Digital de Terreno no gvSIG, feito a partir das curvas de nível que obtemos neste tutorial. Até breve!

Tags: geoprocessamento, gis, gvSIG, MDT, geoprocessos, sextante, SLGeoTbFaz, tutorial

Visualizar orientação da declividade no gvSIG (Série #SLGeoTbFaz)

November 10, 2011 — Eliazer Kosciuk

Buenas, pessoal!

Bastante atrasado, mas antes tarde do que nunca! Por uma série de motivos que não precisam ser explicitados por aqui, acabei atrasando bastante o “reply” da postagem da Série “Quebrando Tabus – Software Livre Também Faz”, iniciada pelo nosso amigo Luís Lopes, que mantém o blog Geotecnologias Luís Lopes (@geoluislpes). O desafio da vez foi visualizar orientação da declividade, sendo que o Luis explicou os procedimentos utilizando o Quantum GIS, que logo foi apresentado também os utilzando o SAGA GIS, pelo Esdras Andrade (@geoparalinux), no seu blog Geoprocessamento para Linux.

Chega de enrolação, e vamos ao procedimento para visualizar a orientação da declividade utilizando o gvSIG:

Vamos utilizar o mesmo SRTM que foi utilizado nos outros tutoriais, e que pode ser baixado do site Brasil em Relevo, da Embrapa Monitoramento por Satélite. No gvSIG, criaremos uma nova Vista, tendo o cuidado de selecionar o Sistema de Coordenadas WGS84 (EPSG 4326) nas Propriedades da Vista, pois é o Sistema de Coordenadas em que o SRTM está.

Criada a nova Vista, podemos abrí-la e inserir o SRTM em uma nova camada (Vista > Adicionar Camada, lembrando de selecionar “raster” em “Tipo de arquivo”).

declividade01

Inserido o SRTM, vamos abrir a ferramenta SEXTANTE, através do ícone

(SEXTANTE Tool Box). Em seguida, vamos abrindo a “árvore” de scripts: SEXTANTE > Geomorphometry and terrain analysis > Aspect, para selecionarmos a ferramenta que iremos trabalhar.

declividade02

Com um duplo clique em Aspect abrirá o diálogo de opções da ferramenta, onde na primeira aba (Parameters) poderemos selecionar a camada que será utilizada para gerar a visualização da declividade (em Elevation), se as unidades estarão em radianos ou em graus (Units), o método que será utilizado para a geração (Method) e também selecionar o arquivo de saída, com o resultado (deixei marcado para gerar o arquivo na memória, mas poderíamos designar uma arquivo onde salvar o resultado):

declividade02a

Na segunda aba, podemos selecionar a região que será utilizada para a visualização/geração do resultado. Deixei marcada a opção de utilizar os parâmetros de entrada, mas poderíamos determinar que fosse utilizado uma região definida pelo usuário, ou selecionarmos uma Vista, para que fosse utilizada a sua extensão, ou ainda selecionarmos uma camada para o mesmo fim:

declividade03

Ao clicarmos em “OK”, o SEXTANTE irá processar o SRTM com os parâmetros selecionados e, em seguida, seremos apresentados ao resultado: uma imagem… totalmente branca! (!!!!!!!!)

declividade04

Calma! Não entre em desespero! Não aconteceu nada de errado, muito pelo contrário. As informações que queremos estão todas lá, basta alguns “pequenos ajustes” 😉

Com o botão direito do mouse, vamos ao TOC, e clicamos sobre a nova camada gerada, e em seguida selecionamos “Propriedades do Raster”, no menu contextual que aparece:

declividade04a

Na janela que se abre, vamos na aba Realce. Normalmente está selecionada apenas a opção “Ativar”:

declividade05

Basta selecionarmos também a opção “Remover extremos” e voilà! Finalmente podemos visualizar a declividade da região do nosso SRTM:

declividade05a

Para efeito de comparação, apresento abaixo o arquivo SRTM original e a visualização da orientação da declividade, obtida após o processamento:

declividade06

Neste momento, por pura falta de tempo, vou ficar devendo a visualização em modo colorido. Prometo completar o artigo mais tarde. Para os apressadinhos, deixo a dica de que é preciso usar a rotina de “Tabelas de Cor”:

Como próximo passo, vamos aplicar agora um esquema diferente de cores, para ressaltar a visualização da declividade. Para tanto, com a camada “Aspect” gerada pelo SEXTANTE selecionada no TOC, vamos acessar as ferramentas raster; primeiro selecionamos o ícone “Camada Raster” e, em seguida, no ícone ao lado, selecionamos a opção “Tabelas de cor”:

declividade07

Abrirá a janela “Tabelas de cor”, onde poderemos fazer o ajuste que queremos.

tabeladecores02

Em primeiro lugar, precisamos clicar em “Ativar tabelas de cor” ([1], na figura abaixo) e, em seguida, escolher o estilo de cores que iremos aplicar, na lista disponível em “Biblioteca” ([2]). Selecionei o estilo “Mac-style”, que é o que mais se aproxima ao proposto pelo Luís. Por último, devemos alterar o valor de “Mínimo” ([3]), que está negativo, para zero e, em seguida, clicar em “aceitar”.

tabeladecores02b

Na próxima figura temos o resultado final, já com o esquema de cores aplicado:

tabeladecores03

Por enquanto é isso, pessoal! Se alguém quiser se aprofundar um pouco mais na teoria, recomendo a leitura dos dois artigos “irmãos” que foram citados anteriormente. E, para você acompanhar a Série “Quebrando Tabus” no twitter, basta fazer uma pesquisa pela hashtag #SLGeoTbFaz 😉

Em tempo: quero registrar aqui que esse tutorial não teria saído se não fosse o apoio e as dicas do Carlos, da Gauss (@gaussgeo) e do Gilberto, do SIG da Bacia Hidrográfica do Ribeira de Iguape e Litoral Sul.

Tags: geoprocessamento, gis, gvSIG, sextante, SLGeoTbFaz, tutorial, geoprocessos

Utilizando o GRASS Para Gerar Pontos Aleatórios no gvSIG

August 30, 2011 — Eliazer Kosciuk

Buenas!
Recentemente descrevemos como gerar pontos aleatórios em polígonos utilizando a extensão SEXTANTE no gvSIG. Neste tutorial faremos uso de um algoritmo do GRASS no gvSIG para obter um resultado semelhante. Usei o termo “semelhante” porque o resultado final obtido não é igual ao do tutorial anterior, uma vez que este algoritmo gera pontos aleatórios a partir de uma vista ou de um shape, mas não permite especificar o número de pontos que serão gerados por polígono, que foi a proposta inicial do exercício feito pelo @geoluislopes. No entanto, este algoritmo é muito interessante, podendo gerar não apenas pontos aleatórios em 2D, mas também em 3D. Ou seja: certamente tem o seu momento de aplicação.
Feita esta ressalva, vamos ao tutorial propriamente dito, assumindo que você já está com o GRASS instalado no gvSIG:

Inicialmente, baixe o shape dos municípios do RS, que usaremos neste tutorial. Crie uma nova vista com a projeção WGS 84 (EPSG 4326), abra a mesma e insira o shape.

ptos_aleat01g

Apliquei um zoom na área de interesse, onde quero que os pontos sejam gerados (neste caso, na região central do RS).

ptos_aleat02g

Acessamos a extensão SEXTANTE, através do ícone “SEXTANTE Toolbox”. Na janela da extensão, navegamos até encontrar os algorítimos do GRASS.

ptos_aleat03g

Utilizando a árvore de algorítimos, vamos navegando até encontrar o algorítimo desejado: GRASS > Vector (v.*) > v.random

ptos_aleat04g

Um clic duplo no nome do algorítimo irá abrir a sua janela de entrada de dados, onde poderemos configurar as opções disponíveis. Na primeira aba, “Parameters”, vamos alterar apenas o “n”, que determina o número de pontos a serem gerados, que fixei em 50. As demais opções não nos interessam neste momento, a não ser “v.random: output(vector)”, que detemina se a camada resultante será gerada em um arquivo temporário ou se iremos salvá-la para um arquivo específico. Podemos deixar a opção default de gerar para um arquivo temporário.

ptos_aleat05g

Na segunda aba, “Region”, iremos defenir a região onde o algorítimo será aplicado. Existem 3 opções:

  1. “User defined”, onde podemos determinar manualmente o local de aplicação, alterando os parâmetros “Range X” e “Range Y”.
  2. “Use extent from view”, onde poderemos escoher uma vista para aplicar o algorítimo (a visualiação atual da mesma fixará os parâmetros “Range X” e “Range Y”).
  3. “Use extent from layer”, onde poderemos esolher uma camada onde o algorítimo será aplicado (somente em toda a extensão da camada).

Escolhi a segunda opção, para gerar os pontos aleatórios na visualização da vista que estava ativa.

ptos_aleat06g

Ao clicarmos em “Ok” o algorítimo será aplicado conforme os parâmetros escolhidos, e o resultado aparecerá em uma nova vista. Devemos então selecionar a camada gerada e exportá-la Camada > Exportar para > SHP.

ptos_aleat08g

Depois de exportar a camada podemos fechar a vista gerada e, voltando para a vista anterior, adicionamos a camada que salva para visualizar os resultados.

ptos_aleat09g

Para conhecer maiores detalhes do algorítimo v.random, basta acessar a página do mesmo no manual online do GRASS.

Tags: geoprocessamento, geoprocessos, gis, GRASS, gvSIG, sextante, tutorial