Produire et Utiliser les Palettes

Geoserver a la capacité de sortir images en 256 couleur en haute qualité. Ce tutoriel vous introduit aux conceptes de la palette, aux options de la génération des immages, et vous offre une ressource de qualité pour les comparer dans des situations différentes. Dans cette séction la tâche est d’utiliser les palettes.

Note

Certains formats d’image, comme par ex. GIF ou PNG, peuvent utiliser une palette, qui est normalement une table de 256 couleurs utilisées pour obtenir une meilleure compression (en la changeant parfois avec une qualité d’image inférieure). Fondamentalement, au lieu de représenter chaque pixel avec son triplet de couleurs, qui prennent 24bits (plus 8 en cas de transparence), ils utilisent un index de 8 bit qui represente sa position dans la palette, et ainsi la couleur. Cela vous permets d’obtenir des images 3 ou 4 fois plus petites que d’habitude, avec la limitation que seulement 256 couleurs differentes peuvent apparaître dans l’image meme. Selon la carte réelle, cala pourrait etre une rigoureuse limitation, qui pourrait visiblement dégrader la qualité de l’image, ou la production ne pourrait pas être une image en couleur. Pour beaucoup de cartes vectorielles communes on peut facilement trouver 256 couleures representatives qui sont un bon ajustement. Dans ce dernier cas, la plus petite empreinte d’images paletted est normalement un améliorement soit en performance soit danl les coûts, car beaucoup de données peuvent etre servis avec la meme connection internet, et le client pourra obtenir les réponses plus rapidement.

Options pour habiliter paletted output

La meilleure façon d’obtenir une sortie d’image de la palette est de demander un format en 256 couleurs, comme:

  • image/png8: PNG output, with a 256 color palette
  • image/gif: standard GIF output

Ces formats sortis, si on n’a pas fourni d’autres paramètres, calculent la palette optimale. C’est un processus onéreux (la charge de la CPU) mais, en fonction de la vitesse du réseau connecté au serveur et le client, la surcharge du processeur peut etre offsetted d’un temps de transfert de données inférieure (particulièrement sur des réseaux lents / occupés).

Le calcul de la palette ptimale est un travail répétitif q’on peut faire à l’avant: un utilisateur peut calculer la palette optimale une fois, et communiquer à GeoServer de l’utiliser. Nous avons trios façons pour le faire:

  • Utiliser la internet safe palette, une palette standard intégré dans GeoServer, en ajoutant palette=safe à la requete GetMap. Evidemment, pour obtenir de bons résultats, le style dévea etre obtenu en utilisant les couleurs de cette palette.
  • Fournir une palette par exemple. En ce cas l’utilisateur devrà générer des image en 256 couleurs en utilisant un programme externel (comme par ex. Photoshop), et puis il va le sauver dans le $GEOSERVER_DATA_DIR/palettes directory. L’exemple de fichier peut etre soit en format GIF soit en PNG. Si le fichier est nommé mypalette.gif ou mypalette.png, l’utilisateur pourrà se rapporter a celui-ci en ajoutant palette=mypalette à la requete GetMap. GeoServer chargerà et utiliserà la palette du fichier.
  • Fournir un fichier palette. Le processus est le meme q’avant, mais cette fois seulement la palette, en .PAL format, serà mémorisée dans le répertoire $GEOSERVER_DATA_DIR/palettes. Le fichier PAL en Format Palette Microsoft, peut etre généré par programmes comme Paint Shop Pro et IrfanView.

Un Example avec Vector Data

Assez de théorie, on va voire comment on peut faire face aux images paletted dans la pratique. Nous allons utiliser la carte de base prato pour recueillir quelques numéros et nous allons changer divers paramètres pour jouer avec formats et palettes. Voilà un exemple:

  1. La production polychrome standard PNG:

../_images/palette1.png

The standard PNG output

  1. La Production JPEG:

../_images/palette2.png

JPEG output

  1. La Production PNG8:

../_images/palette3.png

The PNG8 output

  1. PNG + internet safe palette

../_images/palette4.png

The PNG output + internet safe palette

  1. PNG + palette par example

../_images/palette5.png

The PNG Production palette par exemple

Générer la palette pérsonalisée

Pour générer une palette pérsonalisée vous pouvez utiliser IrfanView par example, en Windows. Les étapes sont simples:

  • Ouvrir la version png 24 bit de l’image
  • Utiliser Image/Decrease Color Depth et imposer 256 couleurs
  • Utiliser Image/Palette/Export pour sauver la palette

Un example avec donnés raster

Pour faire un exemple dans le cas où les paletted images ne s’adaptent à la loi, considérons le geosolutions:13tde815295_200803_0x6000m_cl couvrage à partir des données de exemple, et repetons la meme operation efféctuée précédemment.

  1. La production polycrome standard de PNG:

../_images/palette6.png

The standard PNG output

  1. La production JPEG:

../_images/palette7.png

JPEG output

  1. La production PNG8 (la production en utilisant une “palette par example” sera la meme):

../_images/palette8.png

PNG8 output

  1. La production PNG + safe palette:

../_images/palette9.png

PNG + safe palette output

Note

Comme montré dans l’éxemple, la production JPEG a la meme qualitéde l’image polycrome, est generée plus rapidement et elle utilise seulement une fraction de sa taille. A l’invers, la vérsion utilisant la palette internet safe est plus petite et plus rapide de la PNG, mais la production est totalement ruinée. à bien considérer, JPEG est le gagnant, bonne qualité, génération d’image rapide et taille plus petite. PNGs sont les imagery raster format suggerés seulement dans le cas où la production doit etre utilisée comme un revêtement et ça exige des domaines transparents, ou quand le raster a des grandes surfaces avec des couleurs uniformes, ce qui peut arriver par example dans l’utilisation des rasters de terre.