TD Boulevards hausmanniens › Rasters, partie 1

Légende : Cours TP
← Précédent ↑ Retour Suivant →

Abstraction

Modélisation d’un raster

Le raster est un bitmap. Comme pour une image, l’information est encodée sous forme de grille de pixels.

Image bitmap et raster désigne la même chose. Le bitmap est technique, le raster est conceptuel. Une image bitmap peut être la source d’un raster, et un raster peut être stylisé pour donner un rendu qui est en soi une image.

Le raster géographique est une converture rectangulaire dans la projection employée où l’on encode une ou plusieurs valeurs (les bandes ) pour chaque point selon un quadrillage régulier.

La résolution d’un raster s’exprime par taille du pixel , soit la distance géographique entre 2 points, en X et en Y (résolutions X et Y, qui sont souvent égales). On a par exemple : 1 000 m/px (1000 mètres par pixel).

Les points en raster ont une épaisseur , contrairement aux vecteurs. Un pixel représente une surface.

Le SIG permet d’interroger le raster : en cliquant sur un point, on obtient les valeurs du pixel correspondant.

No Data : pixels sans valeur

La couverture d’un raster est régulière. Autrement dit, aucun point ne manque. Pourtant, l’information peut manquer pour certains points. Par exemple, lorsque les limites de l’étude ne sont pas rectangulaire, ou lorsque la donnée n’a pas de sens partout. Dans ces cas là, on choisit une valeur, la moins ambigue possible, qui signifiera pas de valeur .

Pour éviter tout ambiguité, on choisit comme no data un valeur inférieure à la valeur minimale ou une valeur supérieure à la valeur maximale de toutes les valeurs présentes dans le raster.

Par exemple, pour un modèle numérique de terrain (valeurs d’altitude), un no data de -1 convient si aucune altitude est négative. Dans le cas contraire (terrains en dessous du niveau de la mer), on devra descendre la valeur plus bas dans les négatifs.

Acquisition

Modèle Numérique de Terrain (MNT)

MNT France métropolitaine , distribué par l’IGN : BD ALTI

Le modèle numérique de terrain (en Anglais DEM pour Data Elevation Model ) est un cas typique de raster. Pour chaque point du raster, la valeur représente l’altitude moyenne du carreau

Il s’agit de raster à une seule bande, qu’on se représente comme une grille de valeurs .

MNT 75 mètres de la BD Alti de l’IGN, dalle n°6000-6900

Récupérer le MNT pour Paris et l’ouvrir dans QGIS

Note

Notez que le MNT 75 m se télécharge au format 7Z sur le site de l’IGN (les autres résolutions étant au format ZIP) et le raster est divisé en dalles de 75 km de côté (une seule nous intéresse). Si le format 7Z pose problème, n’hésitez pas à nous en faire part.

Avec QGIS, nous allons ouvrir récupérer la BD ALTI de l’IGN pour interroger le raster afin de connaître l’altitude des certains points donnés d’après des coordonnées GPS.

  • Récupérer la BD ALTI de l’IGN sur la Métropole au pas de 75 mètres (archive au format 7Z contenant les rasters au format ASC)
  • Ouvrir l’archive et extraire le fichier BDALTIV2-75M_ASC_LAMB93_FXX_2013-10-01 / 1_DONNEES_LIVRAISON_2013-10-00130 / BDALTIV2_MNT_75M_LAMB93_IGN69_FRANCEMETRO20130920 / BDALTIr_2-0_MNT_EXT_0600_6900_LAMB93_IGN69_20110929.asc vers le répertoire du projet : td/raster/
  • Dans QGIS, ouvrir le fichier raster : menu Couche- Ajouter une couche- Ajouter une couche raster et choisir le fichier.

QGIS génère alors un style par défaut pour ce raster uni-bande : un dégradé linéaire du noir au blanc suivant la valeur minimale à maximale

Interroger l’altitude de l’observatoire de Paris optionnel

  • Activer l’outil d’identification (icône : La flèche avec le 'i' ) puis cliquer à différent endroits du raster en regardant la valeur qui s’affiche dans le panneau Identifier les résultats .
  • Ouvrir l’extension GeoSearch (installée dans le module précédent , sinon l’installer via le menu Extensions- Installer/gérer des extensions
  • Rechercher "Observatoire, Paris" : une couche GeoSearch s’ajoute à la carte avec le point
  • Zoomer sur le point, jusqu’à une échelle inférieure à 1:100 000
  • Dans la liste des couches, cliquer sur BDALTIr_2-0_MNT_EXT_0600_6900_LAMB93_IGN69_20110929 pour la sélectionner à nouveau le MNT pour l’outil d’identification
  • Cliquer sur le pixel du raster contenant le point
QUESTION Quelle est l’altitude en mètres de l’observatoire de Paris ?
RÉPONSE

Orthophotographies

Les orthophotographies sont issues de photos prises par avion ou par drone. Pour être exploitables, elles ont subi un minutieux travail de rectification géométrique (pour la superposition sur la carte), ajustement des couleurs (pour qu’il n’y ait pas de rupture entre 2 photos adjacentes). Elles deviennent alors des orthophotographies en étant géoréférencées.

Dans ce cas, on manipule bien des couleurs sources, contrairement au MNT qui contient des altitudes (nombres) où la couleur n’existe qu’en tant que style. Pour encoder des couleurs dans un raster, il y a 2 approches :

  • la palette , qui passe par la définition d’une palette dans le style (typiquement 256 couleurs maximum pour tenir sur 1 octet) ; le style associe une valeur à chaque couleur, ainsi une seule bande est utilisée ;
  • la couleur à bandes multiples qui utilise 3 bandes : une pour le rouge, une pour le vert et une pour le bleu (rouge-vert-bleu, RVB).

Les orthophotographies utilsent la seconde méthode car les couleurs se veulent réalistes : chaque bande est sur 1 octet, donc 3 octets sont utilisés pour chaque point, pour 16 millions de couleurs possibles (2 puissance (3 x 8 bits) = 16 777 216 , avec 2 car c’est du binaire et 8 car un octet fait 8 bits). En comparaison, la palette 8 bits encode sur 1 octet par point, pour 256 couleurs possibles (2 puissance 8 ).

Dans QGIS, c’est dans Propriétés de la couche- Style que se définit la méthode de style.

Pour approfondir

Couche Google Satellite dans QGIS

Afficher la couche Google Maps Satellite dans QGIS, avec l’extension OpenLayers

Il faut pour cela activer l’extension OpenLayers : aller dans le menu Extension- Installer/Gérer les extensions puis chercher et instaler l’extension OpenLayers Plugin

Une fois l’extension installée, se rendre menu Internet- OpenLayers plugin- Google- Google Maps- Google Satellite .

Si rien n’apparaît, zoomer, voire, cliquer du bouton droit sur la couche Google Satellite et Zoomer sur la couche (puis zoomer à nouveau avec la molette). Vérifier si nécessaire qu’aucune autre couche cache Google Satellite .

Cette couche est spéciale : elle est l’oeuvre d’une extension et ne peut s’afficher qu’en arrière-plan. Elle n’a pas de fenêtre de propriétés. Sa projection est le WGS 84 Pseudo-Mercator (EPSG:3857).

Streaming d’une vaste couche depuis au serveur (cloud)

Précédemment, nous avons vu que :

  • les raster image (l’information est la couleur) peut s’encoder par 3 bandes rouge-vert-bleu ;
  • le pilote GDAL responsable des formats rasters dans QGIS permet des abstractions, comme le raster virtuel qui assemble à la volée plusieurs rasters source.

Le format Raster Virtuel de GDAL permet également de référencer des rasters distants derrière un lien HTTP. Mais cela va plus loin : on peut référencer des rasters infinis lorsqu’il est composé de dalles accessible par une URL fonction du numéro de colonne, de ligne et de zoom (X, Y, Z).

Ainsi la cartographie OpenStreetMap est accessible via l’adresse suivante, pour tout X , Y et Z valides :

http://tile.openstreetmap.org/Z /X /Y .png

OpenStreetMap est une cartographie libre du monde fruit d’une collaboration mondiale, sorte de Wikipédia de la cartographie . C’est avant tout un immense jeu de données vectoriel, mais un rendu graphique d’usine est également proposé (voir : openstreetmap.org ).

QGIS avec la couche openstreetmap en semi-transparence de 30 % par dessus Google Satellite

Exploiter la carte mondiale Open Street Map à travers un fichier XML de 20 lignes

Nous souhaitons ajouter le fond OpenStreetMap à notre projet QGIS, pour mieux se repérer sur le territoire. Pour cela, nous avons besoin du fichier de Raster Virtuel qui symbolise la référence dynamique vers le service OpenStreetMap.

Note

Attention : éditeur de texte ≠ traitement de texte !

Un traitement de texte est évolué et gère des documents et du formattage. Le XML en revanche est un texte brut : il ne pourrait pas être plus brut : c’est un fichier à l’état pur . Le bloc-note simple est un éditeur de texte, Notepad++ en est un autre.

Pour vérifier la validité du fichier XML, on peut l’ouvrir dans le navigateur Web.

Ouvrir un éditeur de texte et enregistrer les lignes suivantes dans un fichier nommé openstreetmap.xml :


   
       http://tile.openstreetmap.org/${z}/${x}/${y}.png
   
   
       -20037508.34
       20037508.34
       20037508.34
       -20037508.34
       18
       1
       1
       top
   
   EPSG:3857
   256
   256
   3
   


  • Dans un nouveau projet QGIS, ajouter comme couche raster le fichier openstreetmap.xml
  • Zoomer sur Paris
  • Ajouter la couche Google Satellite créée précédemment
  • Pour régler la transparence, ouvrir les Propriétés de la couche de openstreetmap puis l’onglet Transparence . Mettre à 50 % .

Capture d’écran

Le Géoportail, comme la carte OpenStreetMap et d’autres cartographies web interactives, sont visualisables à travers des pages web. La technologies et les fonctionnalités importent peu, du moment que l’on a, à un instant donné, une carte visible à l’écran. Une capture d’écran est donc facile pour enregistrer des portions de carte.

Nous obtenons alors un fichier PNG. Le JPEG ne convient pas car son algorithme de compression est fait pour la photographie : les pertes sont trop visible dans le cas de tracés fins à l’échelle du pixel. Le GIF quant à lui travaille avec des palettes, ce qui ne garantit pas la préservation des couleurs.

Le fichier PNG est une simple image bitmap (non vectorielle ) qui doit être géoréférencée pour devenir un raster géographique.

Le cas d’un géoréférencement linéaire, simple positionnement

Contrairement à un plan scanné ou photographié (que nous traiterons ci-après), une capture d’écran de carte n’a pas besoin d’être corrigée ou déformée : il faut simplement lui donner une position et une échelle géographique.

Comme toujours, ces unités n’ont de sens que dans une projection donnée (relation nécessaire entre la carte qui est un plan et le monde qui est une sphère imparfaite). Il faut géoréférencer la capture dans la projection d’origine de la carte.

Découvrir la projection de la carte se fait :

  • soit par les métadonnées : information de la couche Géoportail, page d’information, etc. ;
  • soit par la culture acquise en SIG : la projection mondiale très commune est le WGS 84 , popularisé avec Google Maps. Le précédent Géoportail de l’IGN présentait la France et ses DOM-TOM sans continuité : Lambert 93 pour la métropole et des projections spécifiques pour chaque DOM TOM. Le Géoportail actuel (2015) offre une continuité de zoom entre du monde au territoire français, on observe également que la forme des continents n’est pas différente de Google Maps : on a bien affaire à du WGS 84.

Géoréférenceur QGIS

L’opération de géoréférencement consiste à produire un raster géographique à partir d’une image bitmap. Le Géoréférenceur de QGIS est un outil simple permettant d’ouvrir la carte PNG et poser des points avec leur correspondance en coordonnées géographiques. On peut évidemment cliquer sur la carte pour définir les coordonnées.

Ceci permet des déformations complexes qui seront abordées plus bas. Pour un géoréférencement linéaire, 2 points suffisent pour établir la position et l’échelle. Nous savons en outre que nulle rotation ne sera effectuée tant que le nord est bien le haut de l’écran.

En sortie, le géoréférenceur produit un fichier GeoTIFF. Le GeoTIFF est une image TIFF qui contient les données de géoréférencement en tant que métadonnées, ce qui en fait le format de choix pour les rasters.

Ortho-rectifier un plan scanné ou photographié

Nous voulons exploiter une carte mais celle-ci est papier, donc sous forme de photo, scan ou documents PDF contenant une carte imprécise.

En préalable, il faut découper la région de la carte en éliminant si possible la décoration, pour ne pas gêner quand on la superposera dans QGIS avec un fond de carte.

Il peut être souhaitable de corriger la luminosité et le constraste dans un logiciel de retouche photo. Le logiciel libre le plus populaire s’appelle GIMP (Fichier- Ouvrir puis menu Couleurs- Courbes .

Le principe est le même qu’avec une capture : il faut géoréférencer l’image. Mais cette fois, ce n’est pas linéaire car il faut au minimum corriger en rotation le scan ou la photo. Pour une photo, la déformation est plus complexe : effet de trapèze, focale, etc.

Pour ce faire, on ajoutera autant de points de correspondance nécessaires à l’algorithme choisi.

2 familles d’algorithme : polynomial et Helmert

L’algorithme Helmert déformera l’image autant que nécessaire pour faire correspondre exactement les points de contrôle définis. C’est au départ ce qu’on cherche, mais cela donne beaucoup d’importance aux points (corollaire de la liberté offerte)

Les polynomiales de degrés 1, 2, 3 sont souvent plus efficaces car la déformation d’une photo obéit souvent à une ces équations mathématiques (polynome de degré 2 sinon 3).

Il faut souvent faire différents essais pour obtenir le meilleur géoréférencement possible. Les réflexes viennent ensuite.

Géoréférenceur de QGIS en action avec le quart sud-est du plan Tardieu

Récupérer le plan de Paris d’Ambroise Tardieu (1839) et le géoréférencer dans QGIS

  • Télécharger le plan d’Ambroise Tardieu : paris_tardieu_1839.jpg
  • Ouvrir QGIS puis le menu Raster- Géoréférencer- Géoréférencer : l’outil de géoréférencement s’ouvre alors dans une nouvelle fenêtre
  • Cliquer sur Fichier- Ouvrir le raster et choisir le fichier paris_tardieu_1839.jpg en projection Lambert 93
  • Définir successivement des points d’équivalence (points de contrôle). Pour définir un point :
    • zoomer (avec la molette) dans le raster et identifier un point de correspondance reconnaissable : croisement de rues, extrémité d’une île, berge de la Seine...
    • vérifier qu’on est en mode Ajout de point : îcone ou menu Éditer- Ajouter un point
    • cliquer dans le raster pour poser le point : une fenêtre s’affiche pour demander les coordonnées géographiques
    • cliquer sur Choisir à partir du canvas : la fenêtre de géoréférenceur disparaît au profit de la carte (le Canvas )
    • cliquer cette fois sur la carte pour poser le point : attention, la carte doit être dans la projection qu’on a défini pour le raster ! Ceci est à vérifier en bas à droite de la fenêtre QGIS. On avait défini Lambert 93 .
    • en cas d’erreur, on peut re-cliquer sur Depuis le canvas de la carte . Au pire, on peut supprimer le point de la liste avec le bouton droit puis supprimer
  • Par précaution, pour ne pas perdre ce long travail de définition des points de contrôle, enregistrer régulièrement les points en cliquant sur Fichier- Enregistrer les points sous... .
  • Pour maximiser la précision, on essaiera dans la mesure du possible de placer des points au 4 coins de l’image, en évitant qu’ils soient tous concentrés au même endroit.
  • Paramétrer le géoréférencement en cliquant sur l’icône ou menu Paramètres- Paramètres de transformation . Choisir :
    • Type de transformation : Polynomiale 2
    • Méthode d’échantillonage : Lanczos
    • SRS cible : SCR du projet (Lambert 93)
    • Raster en sortie : paris_tardieu_1839_georef.tif (dans le même répertoire raster/ )
    • Compression : LZW
    • Employer 0 pour la transparence si nécessaire : désactivé (sinon certaines pixels noirs du plan seront transparents)
  • Maintenant que le type de transformation est choisi (Polynomiale 2), les points excessifs (par rapport à l’équation de calcul) sont moyennés entre eux et le degré d’erreur apparaît sur chaque point. Il peut falloir zoomer pour s’en rendre compte. Cela permet de :
    • comparer les types de transformation, en constatant à quel point nos points sont respectés
    • détecter des erreurs de placement
    • savoir la précision
  • Pour mieux reprérer les points définis sur le raster et la carte, afficher les identifiants en allant menu Paramètres- Configurer le géoréférenceur puis Montrer l’identifiant
  • Lancer le géoréférencement en cliquant sur l’icône en flèche qui signifie démarrer (ou menu Fichier- Lancer le géoréférencement )
  • L’opération peut prendre plusieurs minutes. Une barre de progression devrait apparaître, peut-être après un délai durant lequel les fenêtre ne répondent plus et sont grisées. Il faut seulement patienter.
  • Une fois le raster généré, il est ajouté à QGIS qui demande quel est son SCR : choisir le Lambert 93 (l’identifiant du SCR n’est pas enregistré dans le GeoTIFF)
  • Recommancer si nécessaire pour ajouter des points ou corriger des erreurs. Il faut que les îlots soient précis autour du boulevard que l’on a choisi ; les rues communes au plan et à la carte ne doivent pas souffir de décalage. Ajouter des points pour diminuer l’imprécision relative de chaque point. Si besoin, tenter la méthode Polynomiale 3 et/ou supprimer des points plus éloignés pour conforter l’algorithme sur le quartier.
  • Quand la satisfaction est atteinte (constatée avec la transparence, voir ci-dessous), faire Fichier- Générer le script GDAL puis copier les lignes dans un nouveau fichier nommé paris_tardieu_1839_georef.script.txt , à l’aide d’un éditeur de texte comme le bloc-note ou notepad++ (pas un traitement de texte)
QGIS avec le plan Tardieu semi-transparent sur le fond OpenStreetMap : on peut vérifier les contours de la Seine et la juste superposition d’axes anciens comme la rue (du Feaubourg) Saint-Honoré

Définir la transparence de la couche raster à 50 %

  • Dans QGIS, double-cliquer sur la couche paris_tardieu_1839_georef pour ouvrir ses propriétés
  • Aller dans l’onglet Transparence , positionner le curseur à 50 % et cliquer sur OK
  • Zoomer et observer à différents lieux du plan pour contrôler que la superposition est conforme à notre exigence.
  • Fermer le géoréférencer pour éliminer les points rouges (points de contrôle ayant servi au géoréférencement), après avoir vérifié qu’on a bien enregistré les points de contrôle (pour le cas où on aurait besoin de le refaire) ainsi que le Script de géoréférencement GDAL (pour le rendu)

Archivage

Formats textes : ASC et XYZ

Ce sont des formats textes. Il est intéressant d’en vérifier la structure interne pour la démystifier et comprendre la logique raster. En effet, la relative simplicité de ces formats (comparée à celle de format binaires compressés comme le JPEG) aide à comprendre comment le raster encode l’information en amont de la représentations et éviter la confusion entre raster et image.

ASC : grille ASCII

Le format ASC se définit par une grille de valeurs séparées par des espaces. Chaque ligne représente un Y donné et chaque Ne valeur sur la ligne un X donnée.

En quelque sorte, c’est un CSV qu’on pourrait ouvrir dans un tableaur si on enlève les premières lignes du fichier qui constituent l’en-tête de géoréférencement.

Voici par exemple à quoi ressemble l’île d’Ouessant dans l’éditeur de texte :

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 41 0 0 0 0 0 0 0 0 0
0 0 0 0 0 19 26 26 34 35 0 0 0 0 0 0 0 0 0
0 0 0 0 19 30 10 23 29 35 23 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 22 0 17 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0


XYZ : nuage de points 2D

Le format XYZ est texte aussi mais prend une approche différente : chaque point est présent sur une ligne avec ses coordonnées X , Y puis les valeurs des bandes successives. Il est donc plus lourd que l’ASC.

Voici un extrait du MNT de la France métropolitaine. Sur chaque ligne, on a une coordonnée X puis Y suivie de la valeur d’altitude :

630000  7101000 0
631000  7101000 1
632000  7101000 2
633000  7101000 5
634000  7101000 5
635000  7101000 5
636000  7101000 5
637000  7101000 4
638000  7101000 5
639000  7101000 3
640000  7101000 5


Répartition globale des valeurs de la dalle MNT : on constate que l’altitude est principalement comprise entre 20 et 80 mètres au dessus de la mer sur cette emprise géographique

Visualiser l’histogramme du raster MNT sur QGIS

  • Ré-ouvrir sur QGIS le raster MNT téléchargé au début du module
  • Doublie-cliquer sur le nom de la couche pour ouvrir les propriétés
  • Se rendre dans l’onglet Histogramme : la courbe représente la distribution des valeurs d’altitude. En abscisses se trouve l’altitude et en ordonnées le nombre de leur occurences dans le raster. En regardant la courbe, nous repérons immédiatement que l’écrasante majoritée des points ont une altitude entre 0 et 500 mètres. Pour zoomer sur le graphique, cliquer-déplacer (bouton gauche) pour délimiter le rectangle. Un clic droit permet de revenir à la vue globale.

Cet outil d’histogramme est basique et ne calcule pas les statistiques telles que la médiane, l’écart-type ou la moyenne.

QUESTION Combien y a-t-il de points ayant une altitude égale à 100 mètres ?
RÉPONSE

GeoTIFF

Le GeoTIFF est un fichier TIFF qui contient des informations de géoréférencement.

  • l’image bitmap peut être compressée sans perte ou non-compressée (très lourd mais rapide d’accès)
  • l’image peut être enregistrée par dalle, ce qui accélère l’accès aux grandes échelles
  • des miniatures de l’image peuvent être stockées directement dans le fichier, ce qui accélère l’accès aux petites échelles
Propriétés du raster paris_tardieu_1839

Lire les informations d’un GeoTIFF

Le plan géoréférencé précédemment (paris_tardieu_1839 ) est au format GeoTIFF. Pour obtenir diverses informations :

  • Ouvrir ses propriétés en double-cliquant sur son nom puis onglet Métadonnées
  • Dans l’encadré Propriétés se trouve des informations telles que les dimensions, la taille du pixel, le nombre de bandes.

Formats traditionnels : JPEG, PNG, GIF

GIF : encodage par palette de couleurs

Le format GIF (Graphics Interchange Format) gère les couleurs par palette de 256 couleurs maximum par fichier. Ces 256 couleurs sont libres. Ainsi, quand on enregistre une image en GIF, le logiciel de retouche photo génère la palette la plus adéquate pour l’image.

Cette limitation dégrade fortement des images photo, mais les fichiers GIF sont en revanche légers. Un fond de carte IGN, par exemple peut être enregistré en GIF car en tant que dessin légendé , le nombre de couleurs employées est limité et inférieur à 256.

Le GIF permet la transparence, mais en tout ou rien : les dégradés de transparence (semi-transparence) ne sont pas gérés donc un pixel et soit 100 % ou 0 % transparent.

En tant que raster, le GIF a une bande unique : les index de couleurs , qui renvoient à la palette. Quand une image GIF est chargée dans QGIS, celui-ci génère un style à base de palette, laquelle est extraite du fichier pour faire partie du style de la couche.

PNG : une compression qui respecte le pixel

Le format PNG (Portable Network Graphics) permet à la fois des couleurs en palette de 256 couleurs, à la fois de couleurs réelles RVB, en 24 bits habituel et même jusqu’à 48 bits par pixel.

Le PNG permet la transparence comme le GIF ainsi que les dégradés de transparence.

Sa compression est sans pertes ! L’algorithme utilisé est proche de celui du ZIP, adapté pour mieux fonctionner avec les images.

En tant que raster, le PNG a 4 bandes : les composantes rouge, vert et bleu ainsi que la transparence . En effet, le PNG permet des dégradés de transparence, on n’a donc plus une seule valeur interprétée comme no data mais une bande à part entière pour définir la transparence de chaque pixel, entre 0 % et 100 %.

JPEG : une compression avec pertes

La compression JPEG suit le principe du MP3 pour la musique : l’oeil et l’oreille humains ont une sensibilité particulière et irrégulière du phénomène physique. Ces algorithmes s’appuient sur ces propriétés pour économiser des octets d’information.

L’oeil humain et plus sensible aux contrastes. La forte présence d’une couleur altère la perception relative des autres couleurs, de la même façon qu’un bruit fort et sec en musique diminue la perception des harmoniques, qui n’ont alors plus besoin d’êtres encodés avec autant de précision que si elles étaient isolées.

Le JPEG ne convient donc pas, en général, pour des captures d’écran et plus généralement les images où le pixel a un sens , car l’altération se remarque alors fortement. Au contraire, le sens d’une photographie n’est pas dans le pixel mais dans ses contrastes (image de la réalité visuelle). En revanche, le JPEG est 2 à 3 fois plus léger en poids que le PNG, laissant le choix du compromis entre poids et qualité.

En fait, le JPEG ajoute à cette méthode de compression une compression sans perte, comme le ZIP. Pour cette raison il est inutile de compresser en ZIP un fichier JPEG car l’économie de taille a déjà été faite.

En tant que raster, le JPEG a 3 bandes : les composantes rouge, vert et bleu.

Information de géoréférencement : World File

Contrairement au GeoTIFF, les formats GIF, PNG et JPEG ne permettent pas d’intégrer les informations de géoréférencement. Pour cela, il existe une méthode interopérable : le World File.

Le World File est un fichier supplémentaire, reprenant le nom du fichier image, avec une extension différente avec la lettre W :

  • Le World File de l’image raster.gif se nomme raster.gfw ou raster.gifw
  • Le World File de l’image raster.png se nomme raster.pgw ou raster.pngw
  • Le World File de l’image raster.jpg (ou raster.jpeg ) se nomme raster.jgw ou raster.jpgw (ou raster.jpegw )

Inutile de mémoriser ces conventions : retenons simplement que le World File est ce fichier très léger avec le W qui accompagne l’image pour lui donner sa référence géographique : il est automatiquement reconnu par QGIS lors de l’ajout de la couche et automatiquement généré quand on enregistre un raster en GIF, PNG ou JPEG.

Le fichier World File contient 6 lignes, 6 nombres qui définissent la relation polynomiale entre les coordonnées de l’image (unités pixels ) et celles du raster (en unités cartographiques).

Exemple de World File indiquant une résolution de 1.8069238 et les coordonnées du coin supérieur-gauche (X = 265042 , Y = 6250675 . La résolution Y est négative car l’image va de haut en bas quand le repère géographique va du sud au nord :

1.80692380652128493
0
0
-1.80692380652128493
265042.27579408587189391
6250675.4523934768512845


Par curiosité, on peut enregistrer la carte visible de QGIS en raster PNG (Fichier- Enregistrer comme image ) nommé carte.png puis ouvrir le World File carte.pngw dans un éditeur de texte. La fonctionnalité Enregistrer comme image sera exploitée dans le module Rasters, partie 2 .

Suivant → ← Précédent Retour