Hoje, eu vou apresentar para vocês um gist (fragmento de código) que desenvolvi, para separar as informações de máscaras contidas dentro de uma Fmask em diferentes bandas, com o objetivo de visualizá-las separadamente. Nós vamos visualizá-las no QGIS, usando o Python Console do QGIS, também conhecido como PyQGIS.
Seja qual for o seu geo-trabalho, você pode ter trabalhado com um polígono que precisava ser dividido ao meio, em três partes, em cinco partes (ou em cem partes, talvez?). Duas possíveis aplicações para estes polígonos divididos são o cálculo de estatísticas zonais e parcelamento do terreno (agricultura).
A camada de entrada deve ser um vetor do tipo ponto, na qual deve haver um ponto. As coordenadas deste ponto devem ser o centro do círculo (ou cunha, ou semicírculo...). A largura padrão do setor circular é 45°, ou seja, um oitavo de um círculo, e o azimute padrão da cunha é 0°. O raio externo (outer radius) é o que estamos acostumados a chamar simplesmente de raio de um círculo, e a variável do raio interno (inner radius) só será preenchida quando quisermos desenhar um anel ou geometria do tipo “donut”.
Desde então, venho salvando os arquivos gerados em layers temporários sempre que eles forem produtos intermediários, de natureza auxiliar ao processo principal que eu estou executando. Dessa forma, eles são excluídos automaticamente depois que eu sair do QGIS (ou ao reiniciar o computador), então não preciso me preocupar com eles depois de executar meu código. Bom, decidi fazer um post com um resumo de como eu salvo as saídas das ferramentas executadas no PyQGIS em camadas temporárias, caso isso venha a ser útil para alguém!
Este erro é especialmente comum quando você está executando novamente um código que já executou anteriormente. Às vezes, enquanto estou programando, executo uma versão incompleta do meu código, só para ver se o compilador/interpretador acusa algum erro até ali. Os meus códigos freqüentemente incluem a abertura e/ou salvamento de arquivos no disco rígido. Em um dos meus códigos, eu pensava que o arquivo em questão seria sobrescrito toda vez que eu executasse um salvamento de arquivo no Console Python do QGIS.
ERROR 1: Attempt to write non-multipoint (POINT) geometry to multipoint shapefile. ERROR 1: Unable to write feature 0 from layer points_layer. ERROR 1: Terminating translation prematurely after failed translation of layer points_layer (use -skipfailures to skip errors)
Hoje, vou escrever sobre abrir muitas camadas (layers) raster por meio de processamento em lotes (batch processing), e alteração de suas simbologias, também em lotes, no QGIS. Este tutorial foi elaborado com base no QGIS 3.18 Zürich e utiliza seu console Python para a parte de carregamento dos layers.