5. Conversion de lot (batch)

Les programmes SIG sur les ordinateurs de bureau sont très utiles pour les opérations SIG, mais sont difficiles à utiliser si nous devons répéter la même tâche pour de nombreuses couches SIG. Ainsi, les scripts peuvent être une solution.

Nous avons ici par exemple des données d'un modèle d'utilisation des terres de Dublin. Les données sont au format raster IDRISI
(.rst),avec une couche pour chaque année entre 1990 et 2030. Notre tâche est de convertir toutes les couches au format GeoTiff (.tif ).

1. Décompressez landuse.zip fourni avec les données de cours dans un nouveau dossier et vérifiez le contenu.

Rappelez que pour une conversion de fichier raster, nous utiliserions ceci:
gdal_translate -of GTiff 01_State19900101.rst 01_State19900101.tif

Nous allons maintenant créer un fichier batch (voir le tutoriel Ligne de Commande) qui comprend une boucle pour convertir tous les fichiers du dossier.

2. Ouvrez un éditeur de texte, par ex. Bloc notes
3. Ajoutez le code suivant:

for %%f in (*.rst) do (
   echo %%~nf
   gdal_translate -of GTiff %%f %%~nf.tif
)

4. Enregistrez le fichier batch sous rst2tif.bat dans le dossier contenant les rasters d'utilisation du sol (n'oubliez pas de changer l'extension si vous utilisez Bloc notes, erreur classique!).

Essayez de comprendre le code. Il s'agit d'une boucle for loop qui visite à tour de rôle tous les fichiers
*.rst du dossier. %%f est la variable qui contient le nom de fichier de chaque fichier. Avec echo nous pouvons imprimer quelque chose à l'écran. Ici, nous imprimons %%~nf, qui est la partie du nom de fichier avant le point qui le sépare de l'extension. Ensuite, nous utilisons la commande gdal_translate avec le format de sortie t GeoTiff. À la fin de la ligne, nous ajoutons l'extension .tif au nom de fichier.

5. Exécutez le fichier batch. Tapez:
rst2tif <ENTER>

6. Vérifiez les résultats.