Quelque soit le projet, QGIS permet d’enregistrer la carte visible (le rendu) comme fichier image. C’est très pratique pour exporter un extrait de carte, au lieu de passer par une capture d’écran.
Ce n’est pas une simple image qui est enregistrée mais un véritable raster, puisque le fichier est géoréférencé (par le biais d’un World File s’il s’agit de GIF, PNG ou JPEG : voir le module précédent Rasters, partie 1 ). L’image peut donc être ajoutée ensuite au projet en tant que raster, avec la juste superposition.
Afin de pouvoir découper plus tard la vue aérienne, nous avons besoin d’en disposer comme fichier raster normal
: actuellement, la couche Google Satellite
est gérée par l’extension OpenLayers
et n’est pas une couche normale
. Techniquement, ce n’est pas une couche raster mais une couche spéciale dont le rendu n’est pas paramétrable.
Pour sortir de cette situation, nous allons utiliser la fonctionnalité Fichier- → Enregistrer comme image pour effectuer différents extraits :
Une fois les extraits enregistrés, on les ajoute au projet (Ajouter une couche raster ) pour vérifier la couverture (Ajouter une couche raster permet de sélectionner tous les extraits à la fois).
La fusion est l’opération permettant de juxtaposer plusieurs rasters pour produire un raster unique. Les rasters peuvent se superposer, auquel cas l’ordre de fusion est important : les derniers fichiers listés en entrée seront dessinés par dessus les premiers.
Les rasters en entrée doivent avoir le même nombre de bandes, sinon ce n’est pas logique. Par exemple, on ne peut fusionner un MNT avec une orthophoto : cela n’a pas de sens. Deux MNT uni-bande peuvent être fusionnés mais il appartient à l’humain de contrôler que les valeurs ont la même signification (les valeurs d’altitudes doivent être cohérentes entre eux en évitant par exemple de mélanger altitudes absolues et relatives, etc.).
Les N extraits enregistrés ne sont pas pratiques à manipuler. Surtout, nous voulons les découper par îlot donc ne peuvent rester multiples.
Il faut donc fusionner les N rasters en un seul :
Nous avons vu que le raster était une grille régulière de valeurs dans une projection donnée, uniformément réparties selon un pas régulier dans le repère euclidien de la projection.
La reprojection consiste à partir d’un raster dans une projection source, de produire un raster dans une autre projection. Cela impose une déformations et un ré-échantillonage car les points géographiques du raster ne sont pas les mêmes dans la projection source et de destination.
Notre objectif est de d’effectuer un découpage de l’orthophoto (vue aérienne) selon les polygons numérisés des îlots, qui sont en Lambert 93 . Or, l’orthophoto est en WGS 84 / Pseudo-Mercator (EPSG:3857 ) car elle provient de la ressource Google Maps en ligne.
Entre Lambert 93 et WGS 84 / Pseudo-Mercator , il faut choisir : nous optons pour le Lambert 93 qui est plus fidèle au terrain (le WGS 84 étant un optimisée pour le monde).
Nous devons donc reprojeter notre orthophoto dans cette projection :
Une fois l’opération exécutée, changer le SRS du projet pour le Lambert 93 car toutes les données sont à présent dans ce SRS.
À ce stade, nous visualisons notre orthophoto qui a été reprojetée en EPSG:2154 / Lambert 93 , mais l’affichage cartographique de QGIS (le projet) est resté en EPSG:3857 / WGS / Pseudo-Mercator que nous avions changé pour produire les extraits rasters.
Par conséquent, notre couche reprojetée en Lambert 93 demeure affichée en WGS 84 / Pseudo-Mercator ! Ceci à cause de la Reprojection à la volée de QGIS. En un sens, le dynamisme de QGIS fausse notre interprétation : nous n’avions pas besoin d’effectuer une reprojection pour afficher conjointement l’orthophoto et les îlots, c’est seulement nécessaire pour les traitements qui vont suivre.
Il faut donc distinguer :
Le découpage consiste à selectionner une région partielle du raster d’origine, comme on rogne une photo
. L’opération produit un raster de même résolution (densité géographique en mètres par pixel) mais de dimensions différentes.
À partir de la fusion des orthophotos reprojetée en Lambert 93, nous souhaitons extraire les surface des îlots numérisés dans le module Vecteurs, partie 1 , c’est-à-dire supprimer tous les pixels qui n’intersecte pas un îlot.
Une fois l’opération terminée :
Si le découpage échoue, notamment avec l’erreur Cutline feature without a geometry , d’abord vérifier que la couche orthophoto.fusion.lambert93 à découper et la couche de découpage travail.sqlite sont bien dans la même projection (Lambert 93 / EPSG:2154). Si ça ne fonctionne toujours pas, convertir travail.sqlite en Shapefile (clic droit sur la couche puis Enregistrer sous ) et réessayer avec les îlots en Shapefile.
On peut regrouper les calculs rasters en 2 types :
Cela consiste à changer la résolution sans changer l’emprise géographique : les dimensions géographiques sont donc conservées mais pas les dimensions de la grille de pixels.
On l’effectue le plus souvent pour réduire la résolution : c’est l’équivalent de la généralisation des vecteurs. Le principe est le même que lorsqu’on réduit la résolution d’une photo pour diminer le poids du fichier.
Pour une réduction de facteur 2 , 4 pixels en entrée deviennent 1 pixel en sortie. Il s’agit bien d’une agrégation et la valeur du pixel en sortie est calculé à partir de la moyenne des pixels en entrée ou d’une autre méthode.
Souvent le facteur n’est pas entier donc les pixels en sortie tombent entre deux
pixels en entrée. Il existe plusieurs méthodes de calcul faisant intervenir le plus proche voisin
ou les N plus proches, etc. Les algorithmes vont du plus rapide (basse qualité) au plus lent (meilleure qualité), en particulier :
les pixels voisins, voisin des voisins et leur voisin. La qualité en est donc améliorée, au détriment du temps de calcul. Si le bilinéaire est se base sur un calcul polynomial de degré 1 , la méthode cubique suit une logique polynomiale de degré 3 . Pour approfondir : article Wikipédia .
Notre MNT a un pas de 75 mètres, soit 13,5 points par kilomètre. C’est la meilleure résolution distribuée par l’IGN et gratuite d’accès. Nous ne pouvons pas créer de l’information, mais nous pouvons densififier les points par interpolation pour obtenir une résolution satisfaisante de rendu. De plus, un boulevard possède une pente relativement constante, l’interpolation a donc un sens.
Auparavant nous découpons le MNT sur l’emprise du boulevard, pour alléger les opérations
À présent, appliquons le sur-échantillonage.
Pour finir, nous allons devons découper ce résultat sur la surface du boulevard afin de produire sur la carte un effet d’ombrage :
On observe que les nuances de gris changent après chaque opération : c’est normal car à l’ajout de la nouvelle couche, QGIS détermine un style en niveau de gris de noir à blanc, linéairement étalonné entre les valeurs minimale et maximale du raster. Quand ces valeurs changent, le dégradé change. Nous aborderons plus loin ces aspects de représentation.
La classification consiste à convertir les valeurs en classes. On remplace une valeur numérique par le numéro de la classe à laquelle elle appartient.
L’exemple le plus simple est la classification linéaire en N classes, d’après les valeurs minimales et maximales. Par exemple, pour faire 3 classes sur des valeurs comprises entre 0 et 300, on établit :
La classification n’est pas toujours linéaires. Elle peut se baser sur une répartition égale (autant de points dans chaque classe). Elle peut aussi suivre une autre logique.
Une des manières de formaliser cela est de définir une expression pour chaque classe : un pixel est classifié selon l’expression qui est évaluée à VRAI .
Examples d’application :
Dans le module Rasters, partie 1 , nous avons utilisé l’histogramme des propriétés d’un raster pour visualiser la répartition des valeurs de bande. Nous allons maintenant dégager précisément les valeurs minimale, maximale et moyenne.
L’opération est plus subtile car on donne une couche vecteur de polygones pour que les calculs se fassent pour chaque zone.
Le résulat est enregistré dans la couche vecteur source, par ajout d’attributs min , max et avg (average ). Ainsi les valeurs sont affectées pour chaque entité polygone et peuvent servir ensuite à des expression pour calculer des champs, etc.
QGIS permet de créer des groupes de couche, qui sont des dossiers à couches
pour gérer les nombreuses couche plus facilement.
Un groupe de couche se déplace dans la liste comme si c’était une couche et devient sous-groupe s’il fait partie d’un autre groupe de couches, sans limite de profondeur.
On peut Zoomer sur le groupe ou Enregistrer en tant que Fichier de définition de couche : toutes les couches d’un groupe sont enregistrées (règles de style, etc. mais pas les données) dans un fichier .qlr qui peut être réimporté dans un autre projet.
Pour travailler le style d’une couche (raster ou vecteur) sans prendre de risques, on travaille sur une copie. La couche (qui n’est pas la donnée) est dupliquée : ce sont les propriétés qui sont copiées, l’opération est donc légère. On peut alors masquer la couche d’origine et travailler le style de la copie, ce qui permet à tout moment de comparer.
Dupliquer les couches se fait pour différentes raisons :
Pour exporter/importer des couches entre plusieurs projets existants, 3 niveaux d’approche sont possibles :
L’importer est de classer au mieux , pas encore d’arranger le style qui sera vu juste après. En fait, on commence par classer les couches pour refléter le travail progressif sur les données (opérations successives sur l’orthophoto, les îlots, etc.). On dupliquera ensuite ces couches pour travailler l’apparence du rendu en pensant carte et non plus couches individuelles .
Le dégradé de gris ne permet de jouer que sur la luminosité. On peut affecter une teinte (dans le groupe de paramètres Rendu de la couleur ainsi que changer les valeurs de Luminosité , Contraste et Saturation mais la teinte est la même pour tous les points du raster.
Pour symboliser la bande d’un raster par un dégradé de couleurs (2 teintes ou davantages), il faut choisir le Type de rendu : Pseudo-couleur à bande unique . On définit alors quelques valeurs avec une couleur associée, et QGIS va interpoler les couleurs en tout point selon les valeurs. Par exemple, si on définit 10 en bleu et 20 en rouge, alors une valeur de 15 apparaîtra en violet.
Cette liste de paires valeur/couleur est libre, souvent trop libre. QGIS nous aide à la générer d’après un palette pré-définie (ou définie manuellement).
D’abord, on va dupliquer les couches à styliser
À présent, appliquons un dégradé de couleur pour la pente du boulevard :
Jusqu’ici, les couches sont simplement superposées avec opacité réglable entre 0 et 100 % .
Il existe d’autre modes de fusion, accessibles via le groupe de paramètres Rendu de la couleur dans l’onglet Style de chaque couche. On a par exemple :
La superposition simple crée ici une rupture de style entre le fond de plan ancien et l’orthophoto, découpées de manière tout ou rien . On peut appliquer une semi-transparence, mais qui engage un fort compromis entre visibilité de l’orthophoto ou du plan (l’un au détriment de l’autre).
Le modes de fusion lumière dure est avantageux car il mélange les 2 couches pour une meilleure visibilité. En jouant sur les réglages de luminosité , contraste et saturation .
contraste des teintes, voire l’exagérer pour l’esthétique