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.
landuse.zip dat bij de cursusdata is geleverd, uit naar een nieuwe map en controleer de inhoud.gdal raster convert -f GTiff 01_State19900101.rst 01_State19900101.tif
for %%f in (*.rst) do ( echo Converting %%~nf gdal raster convert -f GTiff "%%f" "%%~nf.tif" )
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.
rst2tif <ENTER>6. Bekijk het resultaat.