Ho 3 file GeoTIFF separati a 1 banda. L'interpretazione del colore per la banda è grigia. Voglio un file RGB a 3 bande. Ho usato gdal_merge.py
gdal_merge.py -separate file1.tif file2.tif file3.tif -o output_file.tif
Ma l'interpretazione del colore per le 3 bande dell'output_file.tif risultante è grigia, indefinita, indefinita. A parte questo, tutti i pixel sono 0 .
Se eseguo pct2rgb.py, ottengo un file RGB:
pct2rgb.py output_file.tif output_file_rgb.tif
Ma ovviamente anche i pixel sono 0. Quindi, ho 3 domande:
- Gdal_merge.py è lo strumento giusto per combinare 3 file a 1 banda in un file RGB a 3 bande?
- Perché ricevo un'interpretazione cromatica indefinita per le bande?
- Pct2rgb è lo strumento giusto per trasformare i file a 3 bande con questa interpretazione dei colori in file RGB?
AGGIORNAMENTO : i raster non hanno una tabella di colori. Solo interpretazione del colore: grigio.
D'altra parte, i valori dei pixel vanno da 0 a 1023 (questo è intenzionale)
Più dati: sono raster ruotati (no verso nord), ma tutti hanno la stessa geotrasformazione.
AGGIORNAMENTO 2 : Posso deformare le immagini per renderle a nord, costruire un VRT e aggiungere ColorInterp per ogni banda, ma ottengo ancora l'interpretazione del colore come grigio, indefinito, indefinito nel risultato di output.
Il problema è che devo creare una tabella di colori, almeno nella prima banda. Conosco il modo di crearli , ma non so quante voci dovrebbe avere la mia tabella. Perché ci sono 13 voci nell'esempio delle domande frequenti su GDAL Raster? Tutti i pixel hanno valori compresi tra 0 e 1023, se aiutano.
AGGIORNAMENTO 3 : Apparentemente, nel formato TIFF non c'è modo di specificare veramente l'interpretazione del colore di ogni banda. Il modo in cui GDAL crea l'interpretazione del colore durante la lettura di un file TIFF è una combinazione del valore del tag PHOTOMETRIC ed EXTRASAMPLES .
Leggendo su questi tag:
PHOTOMETRIC rappresenta lo spazio colore dei dati dell'immagine. Un valore di 2 significa che i componenti di un valore di pixel sono RGB, ma assume pixel Byte e ho UInt16 pixel (ho provato
-co "PHOTOMETRIC=rgb"
e ho ricevuto un errore). Quindi, non posso specificare il tag PHOTOMETRIC per il file di output.EXTRASAMPLES specifica che ogni pixel ha N componenti aggiuntivi. Non sono sicuro di come utilizzare questo tag per creare il mio file unito. O se ne ho bisogno.
Quindi, nell'aggiornamento 2 suggerisco la creazione di una ColorTable, ma come? Nei miei 3 file di input, i valori dei pixel vanno da 0 a 1023. Devo abbinarli ai colori? Devo creare una ColorTable con 1024 input? Come?
Nell'aggiornamento 3, sembra che potrei usare alcuni tag GeoTIFF durante la creazione del file unito, ma non sono sicuro di poterli usare davvero, o come.