Tutorial: Introductie GDAL

10. Batchconversie

Desktop‑GIS‑applicaties zijn uitstekend voor eenmalige bewerkingen, maar ze worden inefficiënt wanneer je dezelfde taak voor veel bestanden moet herhalen. In zulke gevallen kan eenvoudig scripten veel tijd besparen. Je hebt al gewerkt met pipelines. Hier gaan we een loop maken in een batch‑bestand.

In dit voorbeeld werken we met een dataset uit een landgebruiksmodel van Dublin. De rasters zijn opgeslagen in IDRISI‑formaat (.rst), met één bestand per jaar van 1990 tot 2030. Ons doel is om al deze bestanden te converteren naar GeoTIFF  (.tif) formaat.

 
1. Unzip landuse.zip dat bij de cursusdata is geleverd, uit naar een nieuwe map en controleer de inhoud.
 
Als we één enkel bestand zouden converteren, zou het nieuwe GDAL‑commando zijn:
gdal raster convert -f GTiff 01_State19900101.rst 01_State19900101.tif
 
Nu gaan we een batch‑bestand maken (zie de Command Line‑tutorial) dat een loop bevat om alle bestanden in de map te converteren.
 
2. Open een platte‑teksteditor, bijvoorbeeld Notepad
3. Voeg de volgende code toe:
 
for %%f in (*.rst) do (
   echo Converting %%~nf
   gdal raster convert -f GTiff "%%f" "%%~nf.tif" 

)

 
4. Sla het batch‑bestand op als rst2tif.bat in de map met de landgebruiksrasters (vergeet niet de extensie aan te passen als je Kladblok gebruik, dat is een klassieke fout!).
 

Probeer de code te begrijpen. Dit is een for‑loop die over alle *.rst‑bestanden in de map loopt. %%f is de variabele die de bestandsnaam van elk bestand bevat.

Met echo kunnen we iets op het scherm afdrukken. Hier printen we %%~nf, dat het deel van de bestandsnaam is vóór de punt die de naam van de extensie scheidt.

Daarna gebruiken we het commando gdal raster convert met als uitvoerformaat GeoTIFF. Aan het einde van de regel voegen we de extensie .tif toe aan de bestandsnaam.

De aanhalingstekens rond de bestandsnamen zijn toegevoegd om problemen met spaties in bestandsnamen te voorkomen.

 
5. Voer de batch file uit. Typ:
rst2tif <ENTER>

6. Bekijk het resultaat.