gdalwarp cutline avec shapefile

26

J'essaie de découper mon fichier raster selon une géométrie de fichier de formes. J'utilise le code suivant

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

Mais il en résulte une couleur noire en dehors de l'étendue de la géométrie du fichier de formes. Je donne l'exemple ici. Dans la première image que je veux couper. La deuxième image est le raster résultant, mais je veux le 3ème raster où l'extérieur de la géométrie sera nul.

1ère image: INPUT Raster

1ère image: INPUT Raster

2e image: OUTPUT Raster

2e image: OUTPUT Raster

entrez la description de l'image ici

3e image: je veux obtenir une sortie comme celle-ci

Devils Dream
la source

Réponses:

34

Vous devez utiliser l' -dstalphaoption pour gdalwarppar exemple:

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

Cela ajoutera une bande alpha au tiff de sortie qui masque la zone hors de la ligne de coupe.

Une réponse tardive, mais j'espère que cela aidera quelqu'un d'autre avec le même problème.

Homme Zwaagstra
la source
2
sans l'indication -srcnodata <in> -dstnodata <out> de Curlew, cela ne fonctionnait pas pour moi.
Jens
2
Eh bien, -dstalphaest OK à utiliser avec l'imagerie (il ajoute essentiellement une bande alpha dans GeoTIFF et masque la zone). Cependant, les valeurs des données restent dans la bande source (dans ce cas, je suppose, qu'il s'agit de la valeur 0). Si vous voulez travailler avec cela en tant que valeurs raster (pas d'imagerie), -dstalphac'est une approche FAUX. @ La réponse du courlis est une option bien préférable. En outre, j'ai trouvé l' -crop_to_cutlineoption très dangereuse, si vous devez conserver la superposition exacte (taille de pixel et espacement) avec le raster en entrée. Je préfère définir des -teoptions (boîte englobante) pour garder les coordonnées sous contrôle total.
jurajb
20

Essayez de spécifier la valeur nodata de votre raster en entrée et définissez-la également pour la sortie. Ajoutez en outre l'option -crop_to_cutline pour faire des recadrages exacts. Plus d'informations sur les options ici .

gdalwarp -srcnodata <in> -dstnodata <out> -crop_to_cutline -cutline INPUT.shp INPUT.tif OUTPUT.tif
Courlis
la source
1
Pouvez-vous élaborer un peu plus? Qu'est-ce qui est utilisé comme <in> et <out>?
Devils Dream
<in> est la valeur nodata de vos rasters en entrée et <out> pour votre raster en sortie. Veuillez consulter le lien fourni où vous pouvez trouver toutes les informations et options (format de sortie, source, étendue, ...)
Courlis
2

Vous pouvez utiliser l'option de clip raster dans QGIS qui exécute gdalwarp en arrière-plan et configure les bonnes options pour vous.

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

pensées spatiales
la source
Je veux un format ***. Tif
Devils Dream
Les étapes décrites dans le lien ci-dessus devraient vous donner une sortie .tif.
spatialoughtts
1
Le lien semble mort.
Vadim Ovchinnikov,
1
@VadimOvchinnikov a parcouru un peu et trouvé où il a été déplacé, l'a corrigé
DarkCygnus