cutline gdalwarp junto com shapefile

26

Estou tentando recortar meu arquivo Raster de acordo com uma geometria do shapefile. Estou usando o seguinte código

gdalwarp -cutline INPUT.shp INPUT.tif OUTPUT.tif

Mas está resultando uma cor preta fora da extensão da geometria do shapefile. Estou dando o exemplo aqui. Na primeira imagem que eu quero recortar. A segunda imagem é a varredura resultante, mas eu quero a terceira varredura em que a parte externa da geometria será nula.

1ª Imagem: INPUT Raster

1ª Imagem: INPUT Raster

2ª Imagem: Rasterização de SAÍDA

2ª Imagem: Rasterização de SAÍDA

insira a descrição da imagem aqui

3ª Imagem: Quero obter uma saída como esta

Devils Dream
fonte

Respostas:

34

Você precisa usar a -dstalphaopção para, gdalwarppor exemplo:

gdalwarp -cutline INPUT.shp -crop_to_cutline -dstalpha INPUT.tif OUTPUT.tif

Isso adicionará uma banda alfa ao tiff de saída que mascara a área que fica fora da linha de corte.

Uma resposta tardia, mas espero que ajude alguém com o mesmo problema.

Homme Zwaagstra
fonte
2
sem a dica -srcnodata <in> -dstnodata <out> do Curlew, não funcionou para mim.
Jens
2
Bem, não -dstalphahá problema em usar imagens (basicamente adiciona uma banda alfa no GeoTIFF e mascara a área). No entanto, os valores dos dados permanecem na banda de origem (nesse caso, acho que é o valor 0). Se você deseja trabalhar com isso como valores de varredura (não imagens), -dstalphaé uma abordagem ERRADA. Além disso, achei a -crop_to_cutlineopção muito perigosa, se você precisar manter a sobreposição exata (tamanho e espaçamento de pixels) com a varredura de entrada. Prefiro definir -teopções (caixa delimitadora) para manter as coordenadas sob controle total.
jurajb
20

Tente especificar o valor nodata da sua varredura de entrada e defina-o também para a saída. Além disso, adicione a opção -crop_to_cutline para fazer as colheitas exatas. Mais sobre as opções aqui .

gdalwarp -srcnodata <in> -dstnodata <out> -crop_to_cutline -cutline INPUT.shp INPUT.tif OUTPUT.tif
Maçarico
fonte
11
Você pode elaborar um pouco mais? O que é usado como <in> e <out>?
Devils Dream
<in> é o valor de nodata dos rasters de entrada e <out> para o raster de saída. Por favor, dê uma olhada no link fornecido, onde pode encontrar todas as informações e opções (formato de saída, fonte, extensão, ...)
maçarico
2

Você pode usar a opção de clipe de varredura no QGIS, que executa o gdalwarp em segundo plano e configura as opções corretas para você.

http://www.qgistutorials.com/en/docs/raster_mosaicing_and_clipping.html

pensamentos espaciais
fonte
Eu quero um formato *** tif.
Devils Sonho
As etapas descritas no link acima devem fornecer uma saída .tif.
spatialthoughts
11
O link parece morto.
Vadim Ovchinnikov
11
@VadimOvchinnikov pesquisado um pouco e encontrada em que foi movido, fixa-lo
DarkCygnus