Riduzione di qualità servendo GeoTiff

33 views
Skip to first unread message

Max S

unread,
Mar 24, 2015, 12:46:52 PM3/24/15
to geoser...@googlegroups.com
Salve!

Sto sperimentando con GeoServer 2.6.0  per servire un set di GeoTiff abbastanza grande - si tratta di 200 file di circa 75 mega ciascuno. Vorrei usare il layer in una web application che sto scrivendo usando Leaflet.

Il primo tentativo che ho fatto e' stato con un ImageMosaic, perché devo ammettere che speravo che GeoServer si occupasse automaticamente di generare le tiles. Più o meno funziona, ho un layer che posso visualizzare, ma le risposte alle query sono molto lente, e soprattutto le tile servite hanno una risoluzione molto più bassa. Ecco un link per farvi un'idea della differenza: http://imgur.com/a/0H08m?gallery - l'immagine di sopra e' una parte di una delle Tiff che cerco di servire, quella sotto e' quello che ottengo, sia con la mia web app sia usando il Layer Preview di GeoServer.

Ho tentato un secondo tentativo dopo essermi letto le slide GeoServer on Steroids, che mi hanno raccomandato caldamente, e che ho trovato qui: http://demo.geo-solutions.it/share/foss4g2011/gs_steroids_sgiannec_foss4g2011.pdf - ho creato una ImagePyramid con gdal_retile e ho provato di nuovo, ma ho ottenuto piu o meno gli stessi risultati, ma serviti meno lentamente. Disabilito esplicitamente il tile caching, e riprovo, ma ancora una volta ottengo tile a risoluzione molto piu bassa.

Senz'altro da qualche parte sto facendo qualcosa di sbagliato. Cosa posso controllare?

Il server che usiamo usa Ubuntu Linux 14.04 con 16 Gb di memoria, ed ho installato JAI native.

Max

Lorenzo Natali

unread,
Mar 25, 2015, 5:51:02 AM3/25/15
to geoser...@googlegroups.com
Ciao Max,
hai ottimizzato le GeoTiff come indicato in GeoServer on Steroids (overviews, tiling interno etc... )? 
Si trovano versioni più recenti di questa presentazione sul web, ad esempio qui: http://www.slideshare.net/geosolutions/gs-steroids-foss4ge2014
Per una qualità visiva migliore puoi usare algoritmi tipo bilinear o bicubic invece che il default (near). Naturalmente più è complesso l'algoritmo più tempo impiegherà a produrre i file ottimizzati.

Per quanto riguarda la ImagePyramid, anche gdal_retile permette di specificare un algoritmo che offre risultati migliori:  http://www.gdal.org/gdal_retile.html .
In questo modo avrai dati il più possibile simili a quelli originali ma ottimizzati per il web.  

In questo modo avrai dati ottimizzati per l'utilizzo sul web. 

Se dopo queste operazioni la qualità ancora non ti soddisfa, puoi modificare le rendering options di GeoServer, che ridurrà un poco le performances : 




--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "GeoServer Italia" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a geoserver-it...@googlegroups.com.
Per postare in questo gruppo, invia un'email a geoser...@googlegroups.com.
Visita questo gruppo all'indirizzo http://groups.google.com/group/geoserver-ita.
Per altre opzioni visita https://groups.google.com/d/optout.

Max S

unread,
Mar 25, 2015, 6:04:30 AM3/25/15
to geoser...@googlegroups.com

Grazie della risposta, e leggero' le slide più aggiornate.

Mi rendo conto di non aver spiegato bene una cosa: le tile servite hanno una qualità ridotta non rispetto all'originale, che sarebbe naturale, ma rispetto a quello che ho ottenuto dopo aver costruito la ImagePyramid. Per capirci, ho creato la ImagePyramid, ho dato un'occhiata alla qualità ed ho deciso che andava bene, ma poi mi sono ritrovato le immagini a qualità molto più bassa facendo il preview del layer.

In altre parole, potrei sbagliarmi ma sembra che la perdita di qualità accada quando viene coinvolto GeoServer. Controllerò le opzioni di rendering ma l'ultima cosa che vorrei sarebbe penalizzare le performance ancora di più. E' già lento.

Grazie comunque dei suggerimenti!

Max
Reply all
Reply to author
Forward
0 new messages