5. Batch conversie

Desktop GISprogramma's zijn nuttig voor GISbewerkingen, maar minder bruikbaar als we dezelfde taken moeten herhalen voor veel data.  In dat geval kan je veel tijd winnen door een script te maken.

We gaan hier de resultaten van een landgebruiksmodel van Dublin gebruiken. Deze data is in het IDRISI raster formaat (.rst) , met voor elk jaar tussen 1990 en 2030 een rasterbestand. Onze taak is om alle rasters te converteren naar GeoTIFF (.tif ) formaat.

1. Unzip landuse.zip in een nieuwe directory.

Voor het converteren van elk afzonderlijk rasterbestand zouden we het volgende commando gebruiken:
gdal_translate -of GTiff 01_State19900101.rst 01_State19900101.tif

We gaan nu een batchbestand (zie tutorial Opdrachtregelinterface) maken met een iteratie zodat we alle bestanden in de directory kunnen converteren.

2. Open een teksteditor, bijvoorbeeld Kladblok
3. Typ/kopieer de volgende code:

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

4. Sla het batchbestand op als rst2tif.bat in de map met de landgebruiksrasters (vergeet niet om de bestandsextensie te veranderen als je Kladblok gebruikt, dat is een klassieke fout!).

Probeer de code te begrijpen. Dit is een zogenaamde "for" loop waarmee we itereren over all *.rst files in de directory. %%f is de variabele met de bestandsnaam voor ieder bestand in de directory. Met echo tonen we iets op het scherm. Hier laten we %%~nf  zien, wat het deel van de bestandsnaam voor de punt is. Vervolgens gebruiken we het gdal_translate commando met als uitvoerformaat GeoTIFF. Aan het eind van de regel voegen we .tif toe als bestandsextensie.

5. Voer het batchbestand uit. Typ:
rst2tif <ENTER>

6. Bekijk het resultaat.