Come convertire dati raster GIS utilizzando gdal_translate

Avete la necessità di convertire i dati raster GIS tra diversi formati? Ecco come gdal_translate ci può aiutare.

L’utility gdal_translate può essere utilizzata per la conversione di dati raster tra formati diversi e contemporaneamente svolgere alcune operazioni come ricampionamento e ridimensionamento dei pixel.

La sintassi però non è così semplice come può sembrare.

Concettualmente, basta fare:

gdal_translate OPTIONS input output

Vediamo insieme alcuni esempi.

Cambiare il formato raster

Questa è l’opzione più comune.

Le immagini raster sono disponibili in molti formati diversi, il più comunemente usato è GeoTIFF. Tramite il flag –of è infatti possibile specificare il formato di output desiderato.

Se abbiamo ad esempio un set di file raster in formato JPG + world e vogliamo tradurlo in formato GeoTIFF, il comando da eseguire sarà:

gdal_translate -of GTiff input.jpg output.tif

Altre opzioni possono essere:

  • -of PNG

  • -of JPEG

  • -of BMP

  • -of PDF

  • -of JPEG2000 (necessita di plugin)

Ricordarsi sempre di specificare il flag -of, in caso venga omesso potrebbe portare a risultati imprvedibili.

Opzioni di creazione

Per fornire opzioni specifiche del formato, gdal_translate ci offre il flag –co, che può essere ripetuto più volte, una per ogni opzione che vogliamo inserire. Le opzioni vanno specificate con il formato chiave-valore, usando “=” come separatore tra i due.

Ad esempio se vogliamo un file raster in formato tiled GeoTIFF, che utilizzi DEFLATE come algoritmo di compressione è necessario lanciare il comando:

gdal_translate -co TILED=YES -co COMPRESS=DEFLATE input.tif output.tif

Ridurre o incrementare la risoluzione dei pixel del raster

A volte i dati dei raster sono troppo dettagliati per cui si può decidere di ridurre la densità dei pixel aumentandone la risoluzione.

La risoluzione dei pixel è la dimensione di un pixel nel mondo reale.

Per esempio un singolo pixel di un’immagine può essere un quadrato di 8x8cm nel mondo reale.

Per risolvere questa necessità, gdal_translate offre un filtro chiamato –outsize. Richiede due valori: larghezza e altezza, che possono essere percentuali o assoluti. Tramite le proporzioni dell’immagine, impostando il valore di input a 0, uno dei due valori può essere derivato dall’altro.

Ecco qualche esempio:

  • ridimensionare al 25%

    • gdal_translate -outsize 25% 25% input.tif output.tif
  • ridimensionare al 50%

    • gdal_translate -outsize 50% 0 input.tif output.tif
  • ridimensionare a 100px x 100px

    • gdal_translate -outsize 100 100 input.tif output.tif
  • ridimensionare a 150%

    • gdal_translate -outsize 150% 0 input.tif output.tif

Possiamo anche impostare le opzioni di ricampionamento tramite il flag –r. Per le opzioni da utilizzare con questo flag, fare riferimenteo alla manpage.

Pubblicato il 29 maggio 2022 da Eduard Roccatello
Tag: ,