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.
Soluções usando rasterio funcionam, todos nós sabemos disso. No entanto, instalar o rasterio e o GDAL no mesmo ambiente do conda pode ser um desafio… Então, geralmente, eu tento não instalar os dois juntos. Vou mostrar para vocês a maneira que eu acho que é a mais fácil para salvar dados raster usando o GDAL no Python.
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!
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)
Eu estou usando o pacote pygrib para abrir os arquivos. Em sua documentação, eles descrevem para duas maneiras de instalar o pygrib, usando pip ou conda. No entanto, só consegui fazer funcionar usando conda. Execute isso em seu prompt do Anaconda para instalar o pygrib
Esta semana, estou discutindo um erro que costumava ser um simples aviso (warning) no antigo rasterio - e eu ignorei. Aprendi a lição! Eu estava salvando rasters GeoTIFF, como eu sempre faço, mas em um ambiente Python atualizado (com o rasterio 1.2.6) quando obtive este erro.
Hoje, vou escrever sobre como abrir, editar e salvar arquivos raster usando Python, se você já estiver familiarizado com Python (principalmente Anaconda). Talvez você precise executar uma função Python em cada pixel de um raster, ou talvez você deseje fazer operações personalizadas que não seriam possíveis em softwares com interfaces gráficas como o QGIS. O Python também pode ser usado para fazer processamento em lotes. Para o processamento de hoje, usaremos o GDAL no Python, instalado através do Conda.