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 |
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 .... |
Non ho idea di come fare per applicare la prima soluzione :-)
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 |
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 _______________________________________________ [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 666+40 iscritti al 5.6.2014 |
In reply to this post by Annalisa
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... |
![]() 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 :-) ). |
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! |
In reply to this post by Annalisa
...a maggior ragione devi comprimere i dati, cercando il miglior compromesso dimensione/qualità :) |
In reply to this post by Annalisa
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 _______________________________________________ [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 666+40 iscritti al 5.6.2014 |
Si si Sandro, mi sono accorta dell'errore solo dopo aver inviato la mail! :-)
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 |
Free forum by Nabble | Edit this page |