Re: [Talk-it] Ridurre dimensione tiles OSM

2010-10-28 Per discussione Federico Cozzi
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 Per discussione Luciano Montanaro
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

2010-10-28 Per discussione Andrea Pogliaghi
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 Per discussione Federico Cozzi
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 Per discussione Andrea Pogliaghi
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 Per discussione Simone Cortesi
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