Emprise d’un raster

Conversion en vecteur de l’emprise valide (sans nodata) d’un raster

remarque générale: les fichiers rasters intermédiaires produits peuvent être écrits en format VRT (raster virtuel). Cela permet d’avoir de tous petits fichiers.

Etape 1 : Conversion en 1 bit

exemple avec un fichier in.tif en entrée, et écriture d’un fichier out.vrt en sortie

gdal_translate in.tif out.vrt -ot byte -of VRT -co NBITS=1

l’option -co NBITS=1 permet de passer l’image en binaire

pour écrire un fichier en sortie au format VRT, utiliser l’option -of VRT

Etape 2 : Création d’un canal alpha

gdalwarp -dstalpha out.vrt out1.vrt -co NBITS=1

Le canal alpha est créé avec toutes les données en nodata grâce à l’option -dstalpha

on peut aussi prendre en compte une valeur représentant le nodata dans le fichier en entrée grâce à l’option -srcnodata value

Bien vérifier le raster out1.vrt en sortie pour voir dans quel canal se trouve la bande alpha à utiliser par la suite.

Etape 3: Vectorisation du raster

gdal_polygonize.py out1.vrt -b 1 -f "ESRI Shapefile" out2.shp

l’option -b 1 permet de prendre ce qui est dans la bande 1

Methode Alternative : avec gdal_calc

on calcule un raster avec une expression logique là où il y a des valeurs

gdal_calc.py -A input --outfile=tmp.tif --type=Byte --calc="isnan(A)" 

on convertit en polygone le raster:

gdal_polygonize.py tmp.tif -f "ESRI Shapefile" output