Preciso criar os contornos de polígonos de várias imagens raster de camada única, não a caixa de extensão / delimitação, mas a área sem os valores nodata, como mostrado aqui: Criando shapefile mostrando pegadas de Rasters? .
Na resposta à pergunta acima, o plugin Image Boundary foi mencionado, no entanto, não o encontro no QGIS 1.8.0 Lisboa, rodando no Ubuntu.
A ferramenta ainda está disponível?
Caso contrário, existe uma maneira de fazer isso usando ferramentas de código aberto, gdal, R, QGIS, GRASS ou similar, não com o ArcMap?
gdal
pyqgis
qgis-plugins
footprint
spib
fonte
fonte
Respostas:
Você pode adicionar o repositório antigo onde existem plugins no Repositório Oficial.
http://pyqgis.org/repo/contributed
O plugin de limite de imagem tem opção para calcular pixels válidos, mas a imagem precisa ser a cena completa, como CBERS ou Landsat, onde esse processo calcula os 4 primeiros cantos. A imagem precisa ter nodata com valor ZERO para a área sem geração de imagens (digitalizada pelo sensor de satélite).
Autor do Limite da Imagem
fonte
Finalmente encontrei uma maneira de fazer isso:
passo 1:
gdalwarp -dstnodata 0 -dstalpha -of GTiff foo1 foo2
Isso faz duas coisas importantes: define os valores de destino Sem dados (borda externa) como 0 e cria uma banda alfa.
passo 2:
gdal_polygonize.py foo2 -b 2 -f "ESRI Shapefile" foo3
A segunda etapa usa a banda alfa (banda 2), criada na etapa 1, e cria um shapefile a partir dessa banda.
Isso pode ser facilmente roteirizado em um script bash, se você tiver muitas imagens, para criar contornos exatos.
fonte
Eu usei
gdal_translate
como sugerido pelo projeto GDAL.fonte
O plug-in Limite de Imagem também não funcionou para mim, portanto, usei a mesma abordagem com o GDAL. No entanto, só funcionou para mim depois de alterar o primeiro passo para:
passo 1 :
gdalwarp -srcnodata 0 -dstalpha -of GTiff foo1 foo2
Estou trabalhando com a banda Landsat8 (onde não há dados = 0) e ao usar a
-dstnodata
função recebo:band1 com nenhum dado = 'Não há dados'
Band2 (banda Alpha) = '255' para toda a cena / extensão
enquanto que com a
-srcnodata
função eu recebo:band1 com nenhum dado = 'não há dados'
Band2 (alfa banda) sem dados = 'dados' e dados válidos = '255', que, em seguida, permite extrair apenas polígono para os dados válidos.
Eu não conseguia entender completamente a razão por trás desse comportamento (como o alfa é calculado?), Mas espero que isso ajude outras pessoas que enfrentam o mesmo problema.
fonte
O limite da imagem permaneceu obsoleto. Você pode usar o plug-in Footprint. http://pt.slideshare.net/LuizMotta3/qgis-ibama-imagefootprint
fonte