Arquivo da tag: geoprocessos

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

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 borda també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!

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

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!

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

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ão_municipios.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!

Geoprocesso Cortar (Clip) no gvSIG 2.x

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

 

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

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!

Utilizando o GRASS Para Gerar Pontos Aleatórios no gvSIG

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

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

Junção Espacial (Spatial Join) no gvSIG

Buenas, pessoal!

Semana passada surgiu na Lista gvSIG_BR a dúvida se o gvSIG tem a opção de executar o geoprocesso Junção Espacial (Spatial Join). A necessidade que gerou a dúvida era a seguinte situação: havia um shape de polígonos, com a sua tabela de atributos vinculada, e um shape de pontos, sobrepostos aos polígonos. O que precisava ser feito era transferir os dados do shape de polígonos para o shape de pontos, de forma que os pontos que caem dentro de um polígono assumam os valores daquele polígono.

Esta situação pode ser resolvida com o geoprocesso Junção Espacial (Spatial Join), que está disponibilizado em todas as versões do gvSIG. Este geoprocesso é similar a um Join entre tabelas alfanuméricas, permite transferir os atributos de uma camada para outra com base em uma característica comum. A diferença entre o “Join Tradicional” e um Join Espacial é que as características comuns consideradas, não são que “um” ou “muitos” atributos das tabelas possuam o mesmo valor (ex: chaves primárias), mas sim as características espaciais. A junção de tabelas já foi muito bem explicada pelo Esdras no artigo Relacionar tabelas no gvSIG. Vamos ao tutorial, então:

Aberto o gvSIG, no Gestor de Projetos, criamos uma nova Vista, com as devidas configurações de suas propriedades. Para os fins do tutorial estou chamando esta vista de “Junção Espacial”.

juncao01 - Share on Ovi

Abrimos a Vista, e vamos adicionar os shapes em questão, clicando em Vista > Adicionar camada (ou utilizar o atalho Alt+O, ou ainda clicando no ícone correspondente). Na janela que se abre, na aba Arquivos, clicar em Adicionar, escolher o caminho onde estão armazenados os shapes e selecionar os dois shapes. Aqui estou usando um shape de polígonos, contendo a divisão municipal do RS, e um shape de pontos, com alguns pontos indicando as sedes dos municípios de meu interesse.

juncao03 - Share on Ovi

Só para facilitar o entendimento, essa é a tabela de atributos do shape de polígonos (visualizada através da opção Camada > Ver tabela de atributos, ou do ícone Ver tabela de atributos).

juncao04 - Share on Ovi

E essa é a tabela de atributos do shape de pontos:

juncao05 - Share on Ovi

Como pode ser visto, não há nenhum campo em comum entre as tabelas, pelo qual pudéssemos fazer a junção das tabelas.
Vamos ao geoprocesso: clicamos em Vista > Gestor de geoprocessos e, na árvore de geoprocessos que está a esquerda da janela que se abre, vamos abrindo as opções, até encontrar a desejada: Geoprocessos > Análises > Proximidade > Junção espacial

juncao06 - Share on Ovi

No lado direito da janela aparece uma descrição do geoprocesso, explicando a sua aplicação e as opções existentes. Clicamos em Abrir geoprocesso, na parte debaixo da janela. Abrirá uma nova janela: Ferramentas de análise.

juncao07 - Share on Ovi

Aqui é que está o coração do processo, No primeiro campo, Camada de entrada, definimos qual a camada que servirá como origem (a camada que irá receber os atributos, neste caso, a camada do shape de pontos). Se deixarmos marcada a opção “Usar somente os elementos selecionados” o geoprocesso será realizado somente para os elementos que estiverem previamente selecionados na camada. Não selecionaremos esta opção, pois queremos que a Junção espacial seja feita para todos os pontos do shape.

No segundo campo, Camada de recorte, selecionamos a camada que será juntada a primeira, cedendo os atributos de sua tabela. No nosso caso, a camada do shape de polígonos. Deixamos a opção “Usar o mais próximo” marcada, indicando que queremos uma relação 1 -> 1.

Por último, no campo Camada de saída, clicamos em Abrir e escolhemos o nome do shape que será gerado e o local de armazenamento do mesmo. Definido este ítem, basta clicar em Aceitar para que o geoprocesso seja executado.

De volta a janela principal, teremos a nova camada já inserida na Vista, como um novo shape.

juncao08 - Share on Ovi

Se abrirmos a tabela de atributos do novo shape, veremos que ocorreu a junção das tabelas, que era o nosso objetivo inicialmente proposto.´

juncao09 - Share on Ovi

Por enquanto é isso, pessoal…
Até a próxima! ;)