Eu queria saber se alguém tem delt com esse tipo de problema antes:
Desejo delinear fragmentos com base nos pixels vizinhos da mesma classe (floresta) com um limite de distância de 3 pixels (que é biologicamente significativo para a minha espécie de interesse).
Minha preocupação é, veja a imagem em anexo como exemplo, que às vezes esses fragmentos são realmente corredores, e geralmente corredores e fragmentos reais são agrupados em um mesmo fragmento devido à sua proximidade.
Gostaria de saber se existe uma maneira de distinguir os corredores dos fragmentos com base na forma, número de pixels circundantes, etc.?
Por exemplo, na caixa a seguir, os corredores possíveis são indicados pelas caixas vermelhas e os fragmentos pelas verdes.
Eu tenho acesso ao QGIS e R.
Respostas:
Antes de iniciar qualquer análise, eu recomendo aplicar um filtro aos seus dados para limpar o efeito "sal e pimenta". Qualquer algoritmo terá problemas com o padrão estrutural atual de seus dados. Uma maioria focal simples provavelmente produziria resultados indesejáveis. Um método mais robusto é aplicar uma abordagem de peneira, na qual uma unidade de mapeamento mínima pode ser especificada. Isso pode ser feito através da função gdal_sieve.py no GDAL, da
raster > analysis > sieve
função QGIS ou da função peneira na caixa de ferramentas de métricas de gradiente do ArcGIS .Parece algo que poderia ser tratado com operadores de Morfologia Matemática (por exemplo, extração de estradas a partir de imagens ). Imagino que um operador de dilatação seguido por um operador de fechamento esclareça os corredores. Em seguida, você pode aplicar um operador de abertura para remover os corredores e diferenciar os rasters para puxar os corredores identificados como objetos separados. Esses tipos de funções de decomposição de imagem são um pouco automatizados no software MSPA e GUIDOS, mas, mais uma vez, seriam afetados notavelmente pelas descontinuidades em seus dados.
Há um plug-in QGIS para MSPA , bem como funções disponíveis no GRASS (disponível na GUI do QGIS). Um dos problemas com o MSPA e o GUIDOS é que você está limitado no tamanho da imagem. Infelizmente, no software ESRI, os operadores morfológicos estão disponíveis apenas na extensão ArcScan . Com algumas escavações, você encontrará outras opções de software e métodos para definir operadores morfológicos através da álgebra raster com matrizes de kernel personalizadas.
Outra abordagem seria métodos de filtragem de detecção de borda, como um operador de kernel Sobal . Há uma função sobal na caixa de ferramentas de métricas de gradiente do ArcGIS , bem como no pacote spatialEco R. A vantagem da implementação R é que você pode retornar a função gradiente do operador, enquanto a implementação ArcGIS retorna apenas a função de 1ª ordem (que pode ser tudo o que você precisa). Acredito que a caixa de ferramentas Orfeo (disponível como um complemento QGIS) tenha uma opção sobal na função EdgeExtraction.
fonte
Não é uma solução completa, mas confira estas ferramentas para análise de conectividade (a primeira aproxima muito bem o que você está pesquisando):
MSPA - Análise morfológica de padrões espaciais ( http://forest.jrc.ec.europa.eu/download/software/guidos/mspa ) na caixa de ferramentas GUIDOS ( http://forest.jrc.ec.europa.eu/download/software / guidos ) e
Conefor Sensinode ( http://www.conefor.org/ ).
Considere também treinar um algoritmo de aprendizado de máquina para classificar suas instâncias (corredor x fragmentos). Você pode fornecer atributos espaciais no nível do patch (por exemplo, tamanho do patch, proporção da área de perímetro, proporção do círculo) e recursos baseados em distância (por exemplo, distância a fragmentos) para classificar. Para calcular os recursos em nível de patch necessários para a classificação, você pode experimentar o FragStats ( https://www.umass.edu/landeco/research/fragstats/fragstats.html ).
Você também pode considerar um "sistema de regras baseado em especialistas" mais simples para classificar cada instância. Por exemplo, os corredores terão uma relação perímetro-área maior que os fragmentos de habitat e assim por diante.
Coisas mais interessantes aqui para análises de conectividade: http://conservationcorridor.org/corridor-toolbox/programs-and-tools/
No entanto, o fato de alguns corredores não terem 'conectividade total com pixels' será um problema que você precisará resolver primeiro. Eu acho que você precisa definir algum tipo de critério de limite baseado em distância para decidir se algum pixel faz parte de um corredor ou não.
fonte
Parece que isso depende da forma do seu fragmento. Se a largura for superior a 2 (ou 3) vezes a altura (ou o oposto), você pode chamá-lo de corredor?
Você já chegou à delimitação dos fragmentos?
fonte