5. Conversion par lots

Les programmes SIG de bureau sont très utiles pour des opérations SIG, mais sont difficiles à utiliser si nous devons répéter la même tâche pour de nombreuses couches SIG. Le scriptage peut alors être une solution.

Nous avons ici un exemple d’ensemble de données provenant d'un modèle d'occupation 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 consiste à convertir toutes les couches au format GeoTiff (.tif ).

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

Rappelez-vous que pour la conversion d'un fichier raster, nous utilisons ceci:
gdal_translate -of GTiff 01_State19900101.rst 01_State19900101.tif

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

2. Ouvrez un éditeur de texte, par exemple Notepad
3. Ajoutez le code:

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

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

Essayez de comprendre le code. C'est une boucle qui passe en revue tous les fichiers *.rst se trouvant dans le dossier. %%f est la variable qui contient le nom de chaque fichier. Avec echo nous pouvons afficher quelque chose à l'écran. Ici, nous affichons %%~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 GeoTiff. A 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