Eu tenho cerca de 1.000 imagens de satélite no formato tiff e quero criar um shapefile que servirá como um índice para os rasters. Isso é algo semelhante a um catálogo raster, mas eu não quero criar um catálogo raster.
Alguns obstáculos que eu posso prever, é que a imagem é georrefrenciada, portanto não tem forma retangular (estou falando da área de dados).
Para esclarecer, exijo que o polígono cubra apenas os pixels diferentes de zero (ou não nodata) da varredura, e não a varredura retangular inteira. A maioria das respostas até agora fornece um polígono retangular, que cobre os dados e os pixels que não são dados.
Minha imagem
Resultado fornecido pelas ferramentas que examinei (como raster catlog, vários Arcscripts, script Python personalizado fornecido em uma das respostas):
Resultado que eu quero:
fonte
Respostas:
Existe um plugin no QGIS chamado Limite de Imagem . É uma ótima ferramenta. Dentro desta ferramenta, há uma opção para "Pixels válidos" que omitirá as bordas pretas de uma imagem de satélite, por exemplo.
fonte
O código a seguir pega uma varredura de entrada, obtém sua extensão e insere essa extensão em uma classe de característica de polígono:
Você pode executá-lo na janela do ArcMap Python através da criação
in_raster
efc
assim:onde
r_extent
existe uma classe de recurso de polígono existente. Em seguida, basta copiar o código e executá-lo. Eu entendi isso:fonte
Você pode usar o gdaltindex para isso: http://www.gdal.org/gdaltindex.html
No entanto, ele ainda criará retângulos (por exemplo, 4 + 1 pontos) no mesmo sistema de referência que as imagens. Mas me pergunto se isso realmente é um problema: qual o tamanho das suas imagens?
fonte
Eu tentei a ferramenta "Limite de imagem" no QGIS, mas ela falha com alguns rasters.
Outra opção que funcionou para mim é: - 1. Converta a varredura de entrada em um único número digital usando o utilitário de linha de comando gdal_translate.
gdal_translate -co compress = lzw -b 1 -ot byte -scale 1 1 inp.tif out.tif
Isso criará uma varredura com valores de 1 em qualquer lugar inp.tif, com valores diferentes de zero.
O arquivo shapefile de saída terá limites não quadrilaterais, com vários vértices poligonais, seguindo o limite real da imagem.
fonte
Se você estiver interessado em uma solução com script, tente o comando gdal nearblack . Você pode usar o sinalizador -white para recuperar dados delimitados por espaço em branco também. Você pode poligonizar a saída para gerar uma área não retangular dos dados rasterizados.
fonte
Acredito que, no mundo ArcGIS, você possa obtê-lo com a ferramenta 3D Analyst \ Conversion \ From Raster \ Raster Domain .
fonte
Existe uma ferramenta no ArcGIS 3D Analyst chamada Raster Domain que cria um espaço de polígono ou polilinha das partes de dados de um conjunto de dados raster - e ignora as células NoData. Funcionou muito bem para mim.
fonte
Você pode criar um catálogo raster com uma referência espacial atribuída, adicionar o catálogo raster ao ArcMap e, em seguida, "Exportar Pegada". Lembre-se de que existe a opção de criar um catálogo de varredura "NÃO GERIDO", para que você não faça uma duplicata de cada conjunto de dados de varredura.
fonte