Traduções desta página:

Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2016:alunos:trabalho_final:cezar-fonseca:start

Cézar Borges

Geógrafo, mestre em Ciências Ambientais e doutorando em Ecologia Aplicada (UFLA). Trabalho com ecologia de paisagem voltada para avaliação das consequências da fragmentação insular, proporcionada por barragens hidrelétricas na Amazônia, na biodiversidade.

cezar-fonseca@hotmail.com

exec

Meus exercícios

Trabalho Final

Proposta A

Métrica de Conectividade Funcional

Uma das principais consequências da fragmentação de habitat é a promoção e/ou aumento do isolamento de manchas de habitat (fragmentos), ocasionando a perda e/ou redução da conectividade pela paisagem (UEZU & METZGER, 2016; PARDINI et al., 2010; MARTENSEN et al., 2008). Tal aspecto é importante por representar a possibilidade de fluxo gênico, manutenção de (meta)populações, dispersão de sementes, redução da probabilidade de extinções locais em paisagens fragmentadas (TAYLOR et al., 1993). No entanto, a conectividade pode ser representada por duas abordagens, estrutural que compreende a ligações físicas entre manchas de habitat, por exemplo através de corredores e stepping stones (METZGER & DECAMPS, 1997 ), e conectividade funcional que consiste no grau com que a paisagem facilita ou impede o movimento das espécies e recursos entre as manchas de habitat, ou seja, a capacidade de promover o fluxo biológico pela paisagem (TAYLOR et al.,1993).

No contexto de conectividade funcional, se compreende que a movimentação de organismos em paisagens fragmentadas é comum, sendo determinada por dois principais aspectos de percepção espécie-especifico, a habilidade de deslocamento por áreas de não habitat (matriz) e a resistência que a matriz inter-habitat proporciona. Assim, medidas de conectividade funcional são fundamentais para compreender dinâmicas de populações e comunidades que ocorrem em manchas de habitat de paisagens alteradas.

A quantificação da conectividade funcional baseada na capacidade de deslocamento das espécies pela matriz, se configura como uma variável preditora importante na determinação da riqueza e abundancia de espécies, e processos ecológicos, tais como polinização e dispersão de sementes, sendo mais um aspecto a ser avaliado nos planejamentos de paisagens e pesquisas de biodiversidade.

Para isso, abordagem da teoria dos grafos sustenta o método de medida da conectividade funcional, caracterizada pelo agrupamento de fragmentos em função de regras de ligação, que representam diferentes capacidades de deslocamento pela matriz (RIBEIRO et al., 2009; METZGER et al., 2009). Atualmente tal medida pode ser realizada em diferentes softwares de SIG, através de rotinas espaciais que produzem índices de conectividade, porém para paisagens muito grandes o processamento desta métrica fica custosa, demandando muito tempo ou não conseguindo executar a tarefa completamente. Assim, é interessante a criação de uma rotina automatizada que consiga gerar essa medida de forma mais rápida e por completa.

Neste contexto, minha proposta é elaborar uma função na linguagem R que quantifique a conectividade funcional, sendo está representada pelo agrupamento de fragmentos em razão de uma determinada distancia, no qual identificará fragmentos conectados, que sejam considerados como manchas funcionais conectadas. Para a execução da função será necessário como dado de entrada um arquivo de formato shapefile (.shp) composto por polígonos que representem as manchas de habitat do estudo em questão, além disso será necessário que o arquivo esteja projetado em UTM, devido aos cálculos de área e distancia que serão realizada pela função.

A leitura deste tipo de arquivo e as medidas espaciais a serem realizadas no R serão executadas por pacotes específicos de análises espaciais que deverão ser carregados antes da execução da mesma. As operações a serem realizadas serão criação de buffers, realização de dissolve e clip dos polígonos, além da soma da área dos fragmentos in situ e conectados. Como saída a função gerará um shapefile com a identificação dos fragmentos conectados e a soma da área conectada funcionalmente para cada distancia demandada.

Comentários Vitor Rios

Vejamos se eu entendi sua proposta. Você vai transformar as imagens em grafos, onde cada fragmento é um nó, ligados pela distância, e desconectar os nós que estejam separados por um distância maior que um dado limite, é isso? você então pegaria cada gupo de nós conectados e somaria a área deles, retornando estes valores como saída da função, confere? Sua entrada seria apenas a o shapefile com os fragmentos, e a distância de conexão seria informada como parâmetro? Se for, eu tenho alguma sugestões:

utilizando a menor distância entre as bordas dos fragmentos como distância de conexão, eu sugiro usar o pacote igraph. Vc só teria de fazer uma lista de distâncias nó a nó para transformar em grafo, e então faria todos os calculos com este grafo, não precisa manipular o shapefile. Depois vc joga as informações de volta no shapefile e pode por exemplo colorir todos os fragmentos conectados com a mesma cor. Se eu entendi errado, favor ignorar estes comentários

vrios81@gmail.com

Oi Vitor, é isso mesmo, você compreendeu correto. Porém, eu que fiquei na dúvida no uso do igraph, pois utilizar a menor distancias entre bordas é algo obrigatório, pois minha ideia é utilizar diversas distancias que o usuário defina 'aleatóriamente' e não que seja de característica da paisagem em análise. Segundo, essa lista de distancia seria a distancia de todos os fragmentos entre eles?? O resultado do igrap me daria os fragmentos conectados com o mesmo ID, para assim eu poder identificar as manchas conectadas funcionalmente??

Comentários Vitor Rios

A vantagem de usar o igraph é que o modo como as distâncias são determinadas não importa, o que importa é a lista de edges com seus respectivos pesos. Neste caso, seria interessante que o peso da aresta fosse inversamente proporcional à distância, para que os fragmentos mais próximos tivessem uma ligação mais forte. Se o usuário pode determinar a métrica utilizada para calculo da distância, é bom que isso seja um dos parâmetros da função, explicitado no help.

Você pode entrar com os dados de várias formas, por exemplo uma matriz de distâncias fragmento a fragmento, que me parece ser a melhor solução. A partir daí, o próprio igraph gera o seu grafo, e você pode mandar ele remover edges com peso menor que sua distância de conexão máxima, daí é só pegar a lista de componentes e você tem seus fragmentos conectados (cada componente do grafo é um conjunto de nós conectados por uma edge, que é exatamente sua definição de conexão).

Não tenho nenhuma experiencia real com GIS, então não sei se seria melhor calcular as distâncias no GIS ou importar o shapefile e fazer os cálculos direto no R. Tenho a impressão que os pacotes do R que lidam com isso já devem ter funções prontas pra calcular a distância entre os polígonos. De qualquer jeito, o igraph é um pacote bem rápido e simples de usar

vrios81@gmail.com

A rotina de processamento que eu tinha elaborado era a seguinte: entrava com o shape de floresta, gerava um ID para cada fragmento, depois calculava a área de cada fragmento, criava buffer(s) nos polígonos, utilizando a metade da distancia desejada, por exemplo, para uma distancia de 50m, definiria um buffer de 25m, considerando que para os fragmentos se conectarem basta 25m de raio de cada fragmento. Destaco que o buffer criado deve considerar a área interna dos fragmentos, para posteriormente estas serem somadas e gerarem um valor único de área para a mancha funcional (conectada). Deste buffer, realizaria um clip com o shape de floresta para que as áreas do buffer externa aos fragmentos fossem desconsideradas, ficando apenas os fragmentos com sua forma real, porém agrupados em um único polígono, os que estiverem conectados. Após disso, individualizaria os polígonos, através de alguma rotina semelhante a função Explode da barra de edição do ArcGIS,e adicionaria um ID para cada polígono. Por fim, calcularia a área destes fragmentos para obter a área conectada funcionalmente.

Seria isso, espero ter sido claro.

Abraços

Proposta B

Seleção aleatória de paisagens, considerando a cobertura florestal

O objetivo desta função será de selecionar em uma paisagem com dimensão regional e/ou de bioma, paisagens menores que apresentem diferentes quantidades de floresta e que sejam escolhidas de maneira randômica. O produto desta operação seria um conjunto de paisagens que formassem um gradiente de cobertura florestal, onde possivelmente seriam realizados levantamentos, já considerando este aspecto espacial importante em ampla escala. Concomitante, poderia ser criadas paisagens de diferentes tamanhos, considerando o efeito da escala para a seleção destas. Neste sentido, os dados de entrada seriam o dado espacial de classe de floresta projetado em UTM e a definição dos tamanhos de paisagens a serem criadas.

Comentários Vitor Rios

Dê uma olhada nas funções de Bruno Travassos e Camila Hollenwerger, eles fizeram algo semelhante, pode te ajudar a clarificar melhor sua proposta http://ecologia.ib.usp.br/bie5782/doku.php?id=bie5782:05_curso_antigo:r2015:alunos:trabalho_final:cch.camila:trabalho_final_-_proposta http://ecologia.ib.usp.br/bie5782/doku.php?id=bie5782:05_curso_antigo:r2014:alunos:trabalho_final:bruno.travassos:start vrios81@gmail.com

Olá Cézar,

senti falta de um pouco mais de background sobre o assunto e de você falar da motivação em desenvolver ambas as propostas, por exemplo: Por que você acha importante desenvolver tais funções? Há ferramentas existentes para realizar tais tarefas? É importante para outros pesquisadores?

Ainda assim, ambas as propostas parecem ter chance de serem bem legais e uma boa oportunidade didática. Por qual das duas você tem uma preferência e por que? Vamos tentar desenvolver mais e vamos nos falando.

—-Vitor Aguiar

Oi Vitor, Obrigado pelas sugestões, modifiquei o texto , veja se está mais claro agora, valeu. Abraços!!

Olá Cezar, estou com dificuldade para entender o que a função vai fazer e como. Seria importante descrever melhor como são os dados de entrada e quais operações irá fazer com esse objeto. Por exemplo, “classes de florestas projetadas em utm” é muito vago. Os dados são em poligonos ou em raster? É um arquivo shape? Como vai ler e transpor essa informação para o R? Uma matriz? Precisamos de mais informação para poder avaliar a viabilidade da proposta. — Alexandre Adalardo de Oliveira 2016/04/29 12:16

Olá Professor, grato pelas considerações, detalhei mais o que a função se propõe a fazer, veja se está mais compreensível agora. Algumas das etapas já consegui fazer, como carregar o shape, calcular área, fazer buffer e dissolve, no momento estou pesquisando como executar as demais. Abraços!!

05_curso_antigo/r2016/alunos/trabalho_final/cezar-fonseca/start.txt · Última modificação: 2020/08/12 06:04 (edição externa)