[Gfoss] Compressione lossless per geotiff CTR

Buongiorno lista,
volevo comprimere il tiff della CTR (1 banda, scala di grigi) con un
algoritmo lossless, diciamo l'analogo del LZ77 di arcGIS.
Ho provato ad usare lo strumento "conversione formati" del menù raster di
QGIS con l'opzione di creazione "COMPRESS=DEFALTE" lasciando gli altri
parametri che propone di default.
Da 3,27 Gb sono passata a 634 Mb ma il risultato a piccole scale è
abbastanza peggiore del precedente. Non so se dipende dalle piramidi create
con QGIS di questo rispetto a quelle preesistenti fatte con l'ArcGIS.
Inoltre (soprattutto) mi sorprende che facendo l'identify del valore della
cella, dia risultati parecchio diversi tra le 2 immagini. Non dovrebbero
essere coincidenti??? Perché cambia il pixel? Qualcuno mi può suggerire una
compressione che non cambi i valori, anche se comprime meno?

Grazie mille
Annalisa

--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/Compressione-lossless-per-geotiff-CTR-tp7591929.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.

Una CTR andrebbe compressa in monocromatico col potente CCITT, magari dopo
conversione con un algoritmo 'dithering' tip Floyd-Steinberg che simula i
toni di grigio.

Se tuttavia (per forza) vuoi restare a 8 bit... ti consiglio senza alcun
dubbio il collaudato compressore LZW.

:slight_smile:

--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/Compressione-lossless-per-geotiff-CTR-tp7591929p7591930.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.

Una CTR andrebbe compressa in monocromatico col potente CCITT, magari dopo
conversione con un algoritmo 'dithering' tipo Floyd-Steinberg che simula i
toni di grigio.

Se tuttavia (per forza) vuoi restare a 8 bit... ti consiglio senza alcun
dubbio il collaudato compressore LZW:

gdal_translate -co compress=lzw ....
gdalwarp -co compress=lzw ....

--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/Compressione-lossless-per-geotiff-CTR-tp7591929p7591931.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.

Non ho idea di come fare per applicare la prima soluzione :slight_smile:

Ho provato la compressione LZW e poi, tanto per provare, ho fatto fare le
piramidi ad ArcMap invece che a QGIS. Risultato: la visualizzazione a
piccole scale è più piacevole (non so perché).
In ogni caso mi preoccupa che interrogando i raster si ottengano sempre
valori diversi ... a mio parere dovrebbe lasciare lo stesso valore

--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/Compressione-lossless-per-geotiff-CTR-tp7591929p7591933.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.

Il 16/03/2015 15:33, Annalisa ha scritto:

Ho provato la compressione LZW e poi, tanto per provare, ho fatto fare le
piramidi ad ArcMap invece che a QGIS. Risultato: la visualizzazione a
piccole scale è più piacevole (non so perché).

perche' interpola; puoi usare la stessa opzione in qgis.

In ogni caso mi preoccupa che interrogando i raster si ottengano sempre
valori diversi ... a mio parere dovrebbe lasciare lo stesso valore

in effetti, l'interrogazione dovrebbe restituire il valore del raster
base, non delle piramidi.
se confermato, e' bene aprire un ticket.

saluti.
--
Paolo Cavallini - www.faunalia.eu
QGIS & PostGIS courses: http://www.faunalia.eu/training.html

/
Annalisa wrote

a mio parere dovrebbe lasciare lo stesso valore

/

Potresti gentilmente elaborare il concetto, magari con una schermata, in
modo che noi si possa riprodurre il tuo scenario?

*P.S.*
Per convertire un Geotiff da 8 bit a 1 (premessa indispensabile per la
compressione CCITT) puoi usare Gimp, ovviamente dopo aver salvato il
worldfile...

--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/Compressione-lossless-per-geotiff-CTR-tp7591929p7591938.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.

<http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/file/n7591946/diff_tif.png&gt;

Questa è l'interrogazione su QGIS del pixel più chiaro nella macchia a
sinistra. CTR_SPEDITIVO, il raster originale, restituisce il valore 182,
ctr_compress2, compresso con GDAL di QGIS, con l'opzione compress=LZW e
nessun altro parametro, restituisce 168.
Anche a zoom più consoni (1:25.000) accade la stessa cosa.

Questo il comando dato per creare ctr_compress2:
gdal_translate -co COMPRESS=JPEG -co JPEG_QUALITY=75 -of GTiff
F:/Dati_Raster/CTR_SPEDITIVO/CTR_SPEDITIVO.tif
F:/Dati_Raster/CTR_SPEDITIVO/ctr_compress2.tif

Quindi per convertire il geotiff da 8 a 1 bit devo usare un software di
grafica come Gimp,ok, buono a sapersi. A me però non interessa comprimere
molto, ma il possibile senza cambiare il raster, perché voglio metterlo in
download su geoserver.

@Paolo quando ho creato le piramidi era settato "Formato panoramica:
esterno" e "Metodo di ricampionamento: Vicino più prossimo", che è
l'analogo, credo, su ArcMap di "Nearest Neighbor". Probabile che ogni
algoritmo lavori a suo modo ... ma le piramidi di ArcMap sono "viste" da
QGIS, il contrario invece no, giusto?
Meglio mettere il raster come WMS con o senza piramidi?

Uso QGIS 2.6.0 su windows 7 (abbiate pazienza :slight_smile: ).

--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/Compressione-lossless-per-geotiff-CTR-tp7591929p7591946.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.

Cavolo, mi sono accorta solo rileggendo il mio post che QGIS mi prendeva JPEG
invece di LZW!!!!

Scusate, non schiacciavo sulla matita alla fine, ecco spiegato l'arcano!

--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/Compressione-lossless-per-geotiff-CTR-tp7591929p7591947.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.

/
Annalisa wrote

voglio metterlo in download su geoserver

/

...a maggior ragione devi comprimere i dati, cercando il miglior compromesso
dimensione/qualità :slight_smile:

--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/Compressione-lossless-per-geotiff-CTR-tp7591929p7591948.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.

On Tue, 17 Mar 2015 02:37:30 -0700 (MST), Annalisa wrote:

... il raster originale, restituisce il valore 182,
... con l'opzione compress=LZW e nessun altro parametro, restituisce 168.

Annalisa,

stai sostendo un'assuridita' concettualmente impossibile.
per definizione nessuna compressione lossless (LZW, DEFLATE, LZMA etc)
puo' mai riuscire a cambiare i valori dei pixel, a meno di immaginare
bug grossi come elefanti nelle librerie di supporto (cosa decisamente
molto improbabile).

Questo il comando dato per creare ctr_compress2:
gdal_translate -co COMPRESS=JPEG -co JPEG_QUALITY=75 -of GTiff

infatti, hai esattamente sotto agli occhi la causa di tutti
i tuoi problemi. durante questo passaggio stai introducendo
una compressione JPEG che e' di tipo lossy; questa si che ti
modifichera' inesorabilmente tutti i valori dei tuoi pixels
in modo assolutamente irreversibile.

morale: quando applichi una catena di piu' trasformazioni devi
sempre meticolosamente verificare di usare solo compressioni
lossless in tutti i passaggi. se usi una compressione lossy
anche in un singolo passaggio hai gia' rovinato tutto.

ciao Sandro

Si si Sandro, mi sono accorta dell'errore solo dopo aver inviato la mail!
:slight_smile:
Mi pareva impossibile, infatti, o non erano lossless ...
Solo che ho usato QGIS per comprimere, non essendo pratica dei parametri di
gdal, almeno ti guida un pò; ma alla fine non prendeva l'ultima opzione data
ma la prima, finché non premo la matita!
Per fortuna ho rifatto il comando per copiarlo a voi e mi sono accorta solo
dopo della differenza tra il testo sotto e i parametri immessi sopra ...
Adesso però provo anche il DEFLATE, perché questa appare come opzione
standard ... mi confermate che anche questa è lossless, vero???

Grazie e scusate ancora l'errore
Annalisa

--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/Compressione-lossless-per-geotiff-CTR-tp7591929p7591950.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.