Gostaria de saber se existe alguma maneira de espelhar camadas no QGIS. Meu projeto atual é um pouco difícil de explicar ... Estou escavando o interior de uma panela grande e, no final, terei um conjunto de planos que correspondem às camadas sucessivas que estou expondo à medida que prossigo com o escavação. No entanto, por razões práticas, eu tenho que fazer esse trabalho de cabeça para baixo (ou seja, a escavação começou do fundo da panela).
Todos os meus registros serão editados posteriormente no QGIS; portanto, para tornar mais compreensível para outras pessoas, precisarei revertê-los. Não apenas invertendo a ordem, mas também invertendo-as horizontalmente, obtendo uma imagem espelhada do plano de cada camada.
Sei que poderia fazê-lo com software de processamento de imagem, mas fiquei pensando se há alguma maneira de fazê-lo no ambiente QGIS - isso provavelmente me pouparia tempo de processamento de imagem e o tornaria um fluxo de trabalho mais simplificado.
Alguém tem alguma idéia sobre isso?
Respostas:
Sim, você pode espelhar camadas (ou recursos individuais). Isso requer QGIS> = 2.10 . Na verdade, não é necessário modificar os dados de entrada, apenas como são apresentados. Isso é feito usando efeitos de camada, como mostrado aqui no Alasca:
fonte
Como você afirma, você pode fazer isso no software de processamento de imagens, mas se quiser fazê-lo no QGIS para obter um fluxo de trabalho tranquilo (talvez usando um script ou criando um Modelo de processamento), poderá inverter suas imagens usando a função Grass r.flip . No entanto, como está no Grass 7, você precisará instalá-lo, pois ainda não é padrão no QGIS.
Além disso, existe a ferramenta de orientação de grade da SAGA , que oferece opções de inversão, espelho e inversão. A documentação parece escassa para isso, mas um experimento rápido mostra que 'flip' inverte a imagem verticalmente, 'mirror' inverte a imagem horizontalmente, mas invert faz um 'negativo' da imagem (então não é o que você deseja, eu suspeito - mas inverter e espelho parecem promissores para o seu uso).
EDITAR (re comentários): para espelhar, girar ou de outra forma 'dados em folha de borracha', você precisa de ferramentas afins. O QGIS possui várias ferramentas para isso. Existem alguns plugins ('
Affine
' e 'Vector Bender
') e o Grass possuiv.transform
. Você precisa calcular sua matriz de transformação para Affine ou v.transform. Veja este post para o primeiro. Como alternativa, se você está familiarizado com rasters de borracha (e com preguiça de calcular matrizes de transformação), use oVector Bender
plug-in - embora eu ache que seria mais difícil calcular suas linhas de espelho para esse caso de uso específico (caso contrário, é brilhante).Usando o plugin Affine e uma matriz de transformação de
1,0,0
0, -1,0
Recebo o seguinte (azul = antes, amarelo = depois):
A matriz aqui está realmente girando sobre o eixo Y, portanto, você precisará de uma transformação lateral igual à extensão norte-sul dos seus dados para virar 'no lugar'. Portanto, no meu caso, minha matriz real baseada nesse shapefile em particular seria
1,0,0
0, -1,964530.15
(ou seja, estou girando para baixo no eixo Y e depois mudando os dados de volta)
EDIT # 2 (uma reflexão tardia):
se você estiver executando um processo em lote, poderá obter a extensão do GDAL com bastante facilidade e automatizar a criação da matriz de transformação. No entanto, se você estiver executando um processo semi-manual, no seu caso de uso, poderá simplificar as coisas unindo um polígono de caixa delimitadora simples com os dados de cada camada. Dessa forma, sua matriz de transformação sempre será a mesma que a extensão total de seus dados sempre estará dentro da sua caixa delimitadora, independentemente do que você realmente digitalize na camada.
fonte