Re: [Talk-it] Ridurre dimensione tiles OSM
2010/10/28 Andrea Pogliaghi andrea.poglia...@gmail.com: Qualcuno sa se c'è la possibilità di ridurrle in qualche modo? Ti rispondo da totale inesperto di Mapnik e quindi faccio considerazioni solo sui file immagine. 1. stai usando PNG che è un algoritmo lossless. Questo algoritmo può dare risultati migliori se l'immagine è più semplice, ad es. ha meno colori (8 bit anziché true-color ecc.) e se le aree sono più omogenee (ad es. aree ampie dello stesso colore). Quindi puoi agire sulla compressione PNG usando meno colori nello stile mapnik e cercando di rendere più ampie le aree dello stesso colore (ad es. disegnando meno feature) ma penso che il guadagno sia piccolo e questo ci porta al secondo punto 2. stai usando lo shaded relief: l'immagine ha qualità fotografiche, devi usare un algoritmo lossy come il JPEG. 3. come approccio alternativo e tutto da investigare, una mappa con shaded relief potrebbe essere generata sovrapponendo due tile: quelle col relief che comprimerai con JPG (con parametro di compressione cattivo e violento) e quelle con le feature (strade, POI ecc.) che invece puoi generare trasparenti (canale alfa: Mapnik lo supporta?) e comprimere in PNG Ciao, Federico ___ Talk-it mailing list Talk-it@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-it
Re: [Talk-it] Ridurre dimensione tiles OSM
2010/10/28 Federico Cozzi f.co...@gmail.com: 3. come approccio alternativo e tutto da investigare, una mappa con shaded relief potrebbe essere generata sovrapponendo due tile: quelle col relief che comprimerai con JPG (con parametro di compressione cattivo e violento) e quelle con le feature (strade, POI ecc.) che invece puoi generare trasparenti (canale alfa: Mapnik lo supporta?) e comprimere in PNG A occhio, qualcuno ha già investigato :-) : http://hikebikemap.de/ -- Luciano Montanaro Anyone who is capable of getting themselves made President should on no account be allowed to do the job. -- Douglas Adams ___ Talk-it mailing list Talk-it@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-it
Re: [Talk-it] Ridurre dimensione tiles OSM
Grazie dei consigli... ho dato un'occhiata al sito hikebikemap.de, avevo già visto qualcosa del genere nei giorni scorsi (forse il sito era proprio quello!), ma anche nel caso in questione per vedere una porzione di mappa il browser scarica il doppio delle tiles: una per lo shaded relief (30+ KB circa) e un'altra per la mappa vera e propria (altri 20Kb almeno)... Per adesso ho provato -come suggerito anche da Federico- a riconvertire tutte le tiles in jpeg con la compressione di default di imagemagick, le dimensioni sono scese parecchio (anche il 50%) per zoom medi e bassi, mentre per zoom spinti in cui non c'è grande differenza cromatica nelle tile (es: tutto verde con una strada), il formato jpeg occupa molto più del png (es: 0.6K invece di 0.1K)... Tutto il dataset in versione jpeg occupa meno della corrispettiva versione png, sto facendo delle prove ma mi sembra che la navigazione sia un po' migliorata. Spero che settando un livello di compressione jpeg un po' più aggressivo rispetto al default possa ottenere file ancora più piccoli senza compromettera la qualità (con il livello attuale, l'immagine è pressochè indistinguibile dalla png), poi forse qualche altro miglioramento lo posso raggiungere impostando openlayers con più url per aumentare il num delle connessioni concorrenti con il server. Credo che il problema di rallentamento di navigazione sia dato non tanto dalla connessione (ho una connessione in fibra ottica e anche tenendo le tiles in locale la situazione non cambia molto) ma dal fatto che il browser debba gestire tutte le tiles ogni volta che si fa panning... Grazie ancora andrea 2010/10/28 Luciano Montanaro mikel...@gmail.com 2010/10/28 Federico Cozzi f.co...@gmail.com: 3. come approccio alternativo e tutto da investigare, una mappa con shaded relief potrebbe essere generata sovrapponendo due tile: quelle col relief che comprimerai con JPG (con parametro di compressione cattivo e violento) e quelle con le feature (strade, POI ecc.) che invece puoi generare trasparenti (canale alfa: Mapnik lo supporta?) e comprimere in PNG A occhio, qualcuno ha già investigato :-) : http://hikebikemap.de/ -- Luciano Montanaro Anyone who is capable of getting themselves made President should on no account be allowed to do the job. -- Douglas Adams ___ Talk-it mailing list Talk-it@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-it ___ Talk-it mailing list Talk-it@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-it
Re: [Talk-it] Ridurre dimensione tiles OSM
2010/10/28 Andrea Pogliaghi andrea.poglia...@gmail.com: tutto verde con una strada), il formato jpeg occupa molto più del png (es: 0.6K invece di 0.1K)... Ottimo a sapersi! OpenLayers è in grado di gestire formati misti? O meglio ancora: fai l'hosting su un server Apache? Se sì puoi indagare la content-negotiation: http://httpd.apache.org/docs/2.2/content-negotiation.html La mia idea è che openlayers non dovrebbe richiedere esplicitamente il file 14/2/37.jpg o 14/2/37.png ma semplicemente il file 14/2/37 Poi la content-negotiation di Apache dovrebbe fornire al client l'unico file immagine (37.jpg o 37.png) presente nella directory, dove tu avrai messo il più piccolo dei due. Credo che il problema di rallentamento di navigazione sia dato non tanto dalla connessione (ho una connessione in fibra ottica e anche tenendo le tiles in locale la situazione non cambia molto) ma dal fatto che il browser debba gestire tutte le tiles ogni volta che si fa panning... Che browser stai usando? (forse l'hai già detto ma non lo ricordo) OpenLayers è fortemente dipendente da Javascript quindi ti suggerisco un browser con motore Javascript veloce - il mio preferito è Google Chrome ma Opera e Firefox sono altrettanto validi Ciao, Federico ___ Talk-it mailing list Talk-it@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-it
Re: [Talk-it] Ridurre dimensione tiles OSM
2010/10/28 Federico Cozzi f.co...@gmail.com 2010/10/28 Andrea Pogliaghi andrea.poglia...@gmail.com: tutto verde con una strada), il formato jpeg occupa molto più del png (es: 0.6K invece di 0.1K)... Ottimo a sapersi! OpenLayers è in grado di gestire formati misti? O meglio ancora: fai l'hosting su un server Apache? Se sì puoi indagare la content-negotiation: http://httpd.apache.org/docs/2.2/content-negotiation.html La mia idea è che openlayers non dovrebbe richiedere esplicitamente il file 14/2/37.jpg o 14/2/37.png ma semplicemente il file 14/2/37 Poi la content-negotiation di Apache dovrebbe fornire al client l'unico file immagine (37.jpg o 37.png) presente nella directory, dove tu avrai messo il più piccolo dei due. Stavo pensando anch'io la stessa cosa!!! Non sapevo questa possibilità di Apache ma stavo pensando anch'io che una buona soluzione sarebbe creare versioni jpeg e png di ciascun file, tenere quella che occupa meno e utilizzare un qualche meccanismo per dare al client uno o l'altro formato. Cmq si, ho una VM con ubuntu 10.04 e apache... farò un po' e vi farò sapere. Mi chiedo come debba istanziare il livello OSM su OL... per adesso faccio una cosa del tipo: var osmUrlArray = [http://localhost/osm/tiles/${z}/${x}/${y}.jpeg;, http://localhost/osm/tiles/${z}/${x}/${y}.jpeg;, http://localhost/osm/tiles/${z}/${x}/${y}.jpeg;]; osmLyr = new OpenLayers.Layer.OSM(Local Tiles, osmUrlArray, {numZoomLevels: 8,zoomOffset:0,minZoomLevel:10, alpha: true, isBaseLayer: true}); per cui passo direttamente l'estensione dei file adesso cmq guardo la content-negotiation! Credo che il problema di rallentamento di navigazione sia dato non tanto dalla connessione (ho una connessione in fibra ottica e anche tenendo le tiles in locale la situazione non cambia molto) ma dal fatto che il browser debba gestire tutte le tiles ogni volta che si fa panning... Che browser stai usando? (forse l'hai già detto ma non lo ricordo) OpenLayers è fortemente dipendente da Javascript quindi ti suggerisco un browser con motore Javascript veloce - il mio preferito è Google Chrome ma Opera e Firefox sono altrettanto validi Uso firefox... la navigazione è accettabile, ma volevo velocizzarla il più possibile perchè OSM mi serve come baselayer e poi ho una serie di livelli wms/wfs da sovrapporre, che rallenteranno ulteriormente il tutto... Ciao, Federico grazie ancora, ciao andrea ___ Talk-it mailing list Talk-it@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-it ___ Talk-it mailing list Talk-it@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-it
Re: [Talk-it] Ridurre dimensione tiles OSM
2010/10/28 Andrea Pogliaghi andrea.poglia...@gmail.com: Uso firefox... la navigazione è accettabile, ma volevo velocizzarla il più possibile perchè OSM mi serve come baselayer e poi ho una serie di livelli wms/wfs da sovrapporre, che rallenteranno ulteriormente il tutto... se non ricordo male sul server si usa http://pmt.sourceforge.net/pngcrush/ quando ci avevo guardato, era questo l'approccio usato da mapnik in realtime. -- -S ___ Talk-it mailing list Talk-it@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-it